【问题标题】:Programmatically generate Designer.cs for resx file (ResXResourceWriter/ResXResourceReader)以编程方式为 resx 文件 (ResXResourceWriter/ResXResourceReader) 生成 Designer.cs
【发布时间】:2011-04-13 08:33:28
【问题描述】:

我正在使用不会生成 .Designer.cs 文件的 ResXResourceWriter/ResXResourceReader 在 TFS 中创建/更新 resx 文件。我看到 Resgen 创建了 .Designer.cs。我如何以编程方式调用它以在某个 TFS 文件路径生成 .Designer.cs?是这样的吗?

ProcessStartInfo startInfo = new ProcessStartInfo(@"C:\Program Files\Microsoft.NET\SDK\v2.0 64bit\Bin\ResGen.exe");
                startInfo.WindowStyle = ProcessWindowStyle.Minimized;
                startInfo.Arguments = "ResourceName.resx /publicClass /str:cs, Namespace, ResourceName, ResourceName.Designer.cs";
                Process.Start(startInfo);

【问题讨论】:

    标签: c# resx resgen


    【解决方案1】:

    我发现了如何以编程方式生成 .Designer.cs 文件。

    string[] unmatchedElements;
    var codeProvider = new Microsoft.CSharp.CSharpCodeProvider();
    System.CodeDom.CodeCompileUnit code =
        System.Resources.Tools.StronglyTypedResourceBuilder.Create(
            "MyClass.resx", "MyClass", "my.namespace", codeProvider, 
            true, out unmatchedElements); // Needs System.Design.dll
    
    using(StreamWriter writer = new StreamWriter("MyClass.Designer.cs", false,
        System.Text.Encoding.UTF8))
    {
        codeProvider.GenerateCodeFromCompileUnit(code, writer,
            new System.CodeDom.Compiler.CodeGeneratorOptions());
    }
    
    // Returns false if at least one ppty couldn't be generated.
    return unmatchedElements.Length == 0; 
    

    【讨论】:

    猜你喜欢
    • 2011-02-26
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-29
    • 2014-08-10
    • 1970-01-01
    相关资源
    最近更新 更多