Одна и та же строка кода в одной сборке работает для одного тестового прибора, но не другого. Вот строка кода:
var dic = new ResourceDictionary { Source = new Uri("pack://application:,,,/MyApp.Wpf;component/ImageResources.xaml") };
Ошибка, которую я получаю в другом тестовом устройстве, - System.UriFormatException: Недопустимый URI: указанный неверный порт.
Строка uri также работает в xaml. Есть ли лучший способ загрузить словарь ресурсов в код?
Cheers,
Berryl
=== UPDATE ===
Как я нашел в этой публикации, произошел недопустимый порт, потому что пакетная схема не была зарегистрирована, что можно сделать с помощью кода, например так:
if (!UriParser.IsKnownScheme("pack"))
UriParser.Register(new GenericUriParser(GenericUriParserOptions.GenericAuthority), "pack", -1);
Я предполагаю, что тестовое устройство, которое могло загрузить словарь со схемой пакетов без ошибок, связано с тем, что SUT является пользовательским элементом управления и как-то загружает ресурсы, когда создается экземпляр пользовательского элемента управления.