【问题标题】:Generate Resource Designer cs programmatically以编程方式生成资源设计器 cs
【发布时间】:2015-04-23 13:39:26
【问题描述】:
我从我的应用程序中更改不同项目中的“Resource.resx”文件并生成它们。
在我在 Visual Studio 中选择“Resource.resx”文件并运行自定义工具 (ResXFileCodeGenerator) 之前,无法识别更改。
有没有办法运行自定义工具或生成“Resource.Designer.cs”文件以编程方式?
我试图通过“ResGen.exe”实现它,但它只生成资源文件。要生成“Resource.resx”文件,我使用 System.ResourcesResXResourceWriter。
【问题讨论】:
标签:
c#
.net
visual-studio
visual-studio-2013
【解决方案1】:
是的,这可以在代码中完成:
请参阅msdn的此链接
基本上这是代码:
StreamWriter sw = new StreamWriter(@".\DemoResources.cs");
string[] errors = null;
CSharpCodeProvider provider = new CSharpCodeProvider();
CodeCompileUnit code = StronglyTypedResourceBuilder.Create("Demo.resx", "DemoResources",
"DemoApp", provider,
false, out errors);
if (errors.Length > 0)
foreach (var error in errors)
Console.WriteLine(error);
provider.GenerateCodeFromCompileUnit(code, sw, new CodeGeneratorOptions());
sw.Close();