2016-03-17 7 views
0

Я нашел этот пример того, как читать из файла .resxC# Как написать файл .resx?

public static void ReadResourceFile() 
    { 
     ResourceManager rm = new ResourceManager("XmlReadAndWritePractice.Resource1", Assembly.GetExecutingAssembly()); 
     //String strWebsite = rm.GetString("Website",CultureInfo.CurrentCulture); 
     String strName = rm.GetString("FirstName"); 
     Console.WriteLine(strName); 

    } 

Но как я могу редактировать или добавить в файл .resx? Я нашел следующий пример, но это не то, что я ожидаю.

private static void CreateResourceFile() 
    { 
     // Creates a resource writer. 
     IResourceWriter writer = new ResourceWriter("c:\\temp\\Resource1.resx"); 

     // Adds resources to the resource writer. 
     writer.AddResource("String 1", "First String"); 

     writer.AddResource("String 2", "Second String"); 

     writer.AddResource("String 3", "Third String"); 

     // Writes the resources to the file or stream, and closes it. 
     writer.Close(); 

    } 

enter image description here

Ресурс Ссылки

ResourceManager

ResourceWriter

+0

https://stackoverflow.com/questions/36051558/c-sharp-how-do-i-write-to-a-resx-file должно помочь –

ответ

1

Вам необходимо позвонить генерировать до закрытия.

writer.Generate(); 
writer.Close(); 
+0

'Close' уже экономит ресурсов - поэтому не нужно вызывать 'Generate', но что более важно, это предложение даже не пытается ответить на проблему OP с получением двоичной версии ресурса (формат .resource), когда они ищут вывод текста (.resx). –

1
private static void CreateResourceFile() 
{ 
    using (ResXResourceWriter writer = new ResXResourceWriter("c:\\temp\\Resource1.resx")) 
    { 
     writer.AddResource("String 1", "First String"); 
     writer.AddResource("String 2", "Second String"); 
     writer.AddResource("String 3", "Third String"); 
     writer.Generate(); 
    } 
} 
+0

По-видимому, моя проблема заключалась в том, что я делал это в консольном приложении. Как только я попробовал приложение Windows Forms, он работал отлично. Какие-нибудь идеи? – Rod