2010-09-16 17 views
11

.Designer.cs dosyasını üretmeyen ResXResourceWriter/ResXResourceReader'ı kullanarak TFS'de resx dosyalarını oluşturuyorum/güncelliyorum. Resgen'in .Designer.cs dosyasını oluşturduğunu gördüm. Belirli bir TFS dosya yolunda .Designer.cs dosyasını oluşturmak için program aracılığıyla bunu nasıl çağırabilirim? Böyle bir şey mi?Programsal olarak resx dosyası için Designer.cs dosyası oluştur (ResXResourceWriter/ResXResourceReader)

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); 

cevap

16

Ben programlı .Designer.cs dosyası oluşturmak için nasıl bulundu.

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; 
+0

Peki, nasıl çözüldü? Ben sadece size MSDN bağlantısı verecektim: http://msdn.microsoft.com/en-us/library/gg418542.aspx;) –

+0

Çok yararlı, Teşekkürler vücut –

İlgili konular