我有一个C#应用程序,它将exe文件和脚本存储为.resx文件中的嵌入资源。
我试图在没有完全重建的情况下找到替换嵌入式资源的方法。这样我只需要在版本化时替换脚本或可执行文件,而不是进行完全重建。
到目前为止,我发现several tools可以在可执行文件中添加和替换资源(卫星资源?),但我无法在C#应用程序中访问这些资源。< / p>
到目前为止,我只找到了一种访问嵌入式资源的方法,我在构建后不会显示这些资源。
// This only retrieves the contents of embedded .resx files
System.Reflection.Assembly thisExe;
thisExe = System.Reflection.Assembly.GetEntryAssembly();
// List files in .resx of known name.
ResourceSet rs = <my resource>.ResourceManager.GetResourceSet(System.Globalization.CultureInfo.CurrentUICulture, true, true);
Dictionary<string, object> resources = rs.Cast<DictionaryEntry>().ToDictionary(r => (string)r.Key, r => r.Value);
foreach (string key in resources.Keys)
Console.WriteLine(key);