C# - 別のアセンブリのファイル リソースからイメージを読み込む
SomeProject というプロジェクトに保存され、同じプロジェクトで XAML を使用して何度も表示される PNG 画像ファイルがあります。別のアセンブリで、同じ画像にアクセスしたいと考えています。以前は、実際のファイルへの相対パスを指定するだけで、問題なく動作していました。しかし、リリース インストーラーをビルドすると、イメージ ファイルが SomeProject.DLL にパックされます。
ファイルをローカルで 2 番目のプロジェクトにコピーするだけでなく、別のアセンブリから PNG ファイルにアクセスできる簡単な方法はありますか? 「pack://」を使用して可能かもしれませんが、あまり運がありません。
// SomeOtherProject.SomeClass.cs ...
Image logo = new Image();
BitmapImage logoSource = new BitmapImage();
eChamSource.BeginInit();
// Following line works fine is Visual Studio, but obviously not after installation
// logoSource.UriSource = new Uri(@"..\SomeProject\Resources\Images\logo.png", UriKind.Relative);
logoSource.UriSource = new Uri("pack://application:,,,/SomeProject;component/Resources/Images/logo.png");
logoSource.EndInit();
logo.Width = 100; logo.Height = 100;
logo.Source = logoSource;
どんなアドバイスでもいいです。