1

アセンブリに追加され、リソースとしてマークされた(埋め込まれていない)すべてのファイルを一覧表示することはできますか?

GetManifestResourceNamesメソッドを試しました。埋め込まれたリソースでのみ機能します。ただし、このpack:// application:,,, / ApplicationName; component / Resources / logo.pngのようにuriを使用してそのファイルにアクセスするには、リソースとしてマークされたファイルである必要があります。

ありがとう

4

1 に答える 1

5

次のようにアクセスできます。

var image = new BitmapImage(new Uri("pack://application:,,,/ApplicationName;component/Resources/logo.png", UriKind.Absolute))

[編集]

そして、このメソッドを呼び出すことで、それらすべてを一覧表示できます。

public static string[] GetResourceNames()
{
    var asm = Assembly.GetEntryAssembly();
    string resName = asm.GetName().Name + ".g.resources";
    using (var stream = asm.GetManifestResourceStream(resName))
    using (var reader = new System.Resources.ResourceReader(stream))
    {
        return reader.Cast<DictionaryEntry>().Select(entry => (string)entry.Key).ToArray();
    }
}
于 2012-12-17T12:06:06.703 に答える