2008-10-20 50 views
3

在表單的resx文件中存儲的名稱/值對會發生什麼?編譯我的項目時它們是否編譯爲二進制文件?WinForms:.resx文件中存儲的值會發生什麼變化?

對於我的特定項目,我希望能夠手動編輯這些值之一而無需重新編譯(app.config-style),是否有一種簡單的方法可以做到這一點?

編輯:有些人似乎沒有得到我的問題。在執行WinForms時,如果InitializeComponents()內部的設置依賴於表單的資源文件,只需將生成操作設置爲始終複製,並將內容類型設置爲內容即可打破錶單。我確信有一個簡單的解決方案,但是在對資源文件感到困惑之前,沒有處理過資源文件。

回答

4

如果您將值放入.resx文件中,默認情況下它們會被編譯到您的程序集(或衛星資源程序集)中。

如果您希望在運行時編輯這些值,則應該真正使用app.config或註冊表。我個人更喜歡app.config文件。

將值放入app.config文件的最簡單方法是使用項目屬性中的設置選項卡。

如果你堅持把你的值保存在.resx文件中,我想你可以把那個特定的.resx文件當作一個XML內容文件,並將它複製到輸出目錄。不過,我不確定哪些框架類可以幫助您解析此文件並消耗其內容。您可能不得不求助於XmlDocument和您自己的XL解析來提取/修改這些值。

2

確定在任何文本編輯器中打開它,它只是xml。你可以告訴VS不要將它們嵌入到屬性中。

+0

第二句話是我弄不清楚該怎麼辦 – 2008-10-20 18:23:05

+0

我覺得那部分可能是錯的。 – nportelli 2008-10-20 18:29:41

0

轉到Visual Studio中.resx文件的屬性,並將「構建操作」設置爲「內容」。這應該將其設置爲不編譯,您將能夠通過站點複製.resx文件並隨時進行修改。

你可能想要清理你項目中的任何已編譯的資源,我不確定ASP.NET是否會先查找那些已編譯過的資源。

編輯:剛纔看到你在引用WinForms,不確定。

相關問題