以编程方式生成资源设计器cs

时间:2015-04-23 13:39:27

标签: c# .net visual-studio visual-studio-2013

我从应用程序中更改了不同项目中的“ Resource.resx ”文件并生成它们。

在Visual Studio中选择“ Resource.resx ”文件并运行自定义工具(ResXFileCodeGenerator)之前,不会识别更改。

有没有办法运行自定义工具或以编程方式生成“ Resource.Designer.cs ”文件

我尝试使用“ ResGen.exe ”来实现它,但它只生成资源文件。要生成“ Resource.resx ”文件,我使用System.ResourcesResXResourceWriter。

1 个答案:

答案 0 :(得分:3)

是的,这可以在代码中完成: 请参阅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();