同じアセンブリ内の同じコード行は、あるテスト フィクスチャでは機能しますが、別のテスト フィクスチャでは機能しません。コード行は次のとおりです。
var dic = new ResourceDictionary { Source = new Uri("pack://application:,,,/MyApp.Wpf;component/ImageResources.xaml") };
他のテスト フィクスチャで発生するエラーは System.UriFormatException : Invalid URI: Invalid port specified です。
uri 文字列は xaml でも機能します。コードでリソース ディクショナリを読み込むより良い方法はありますか?
乾杯、
ベリル
===更新===
この投稿で見つけたように、パック スキームが登録されていないため、無効なポートが発生していました。これは、次のようなコードで実行できます。
if (!UriParser.IsKnownScheme("pack"))
UriParser.Register(new GenericUriParser(GenericUriParserOptions.GenericAuthority), "pack", -1);
エラーなしでパック スキームを使用してディクショナリをロードできたテスト フィクスチャは、SUT がユーザー コントロールであり、ユーザー コントロールのインスタンスが作成されるときにリソースをロードしているためだと推測しています。