2011-03-02 55 views
1

我想手動添加一些額外的字符串到與WinForms類關聯的resx文件。這工作正常,我可以使用ResourceManager訪問這些字符串。避免Visual Studio從resx文件中刪除字符串

但是,只要我使用Visual Studio設計器修改窗體,它會重寫resx文件並刪除我的字符串。

有什麼辦法可以防止Visual Studio設計者這樣做嗎?

(請不要問我爲什麼要一些字符串手動添加到RESX文件。我只是做。)

+1

是的,你會失去你的改變。你只是這樣做。 – 2011-03-02 18:57:30

+0

爲了跟上這一點,我只想感謝您對漢斯的評論。不要問我爲什麼,我只是這樣做。 我最終做的是編寫一個程序,作爲預構建步驟運行,檢測Visual Studio設計器何時重寫了resx文件,然後再次添加其他字符串。以此,Visual Studio設計師! – RenniePet 2011-03-17 12:01:23

回答

3

而不是找到一個方法來防止Visual Studio設計從這樣做。你不應該把你的非GUI相關的資源放在這些文件中。只是因爲VS維護這些文件。

對於自定義資源,圖標,圖像,文件,字符串,您可以將資源文件添加到項目中,並且每當修改自定義資源文件時都會生成一個包裝類。

您可以在「添加文件」對話框(CTRL + SHIFT + A)中選擇此文件類型,其類別爲「常規」。將生成一個伴隨文件* .Designer.cs(如果已經以此方式配置了VS,則會添加到您的源代碼服務器中),並將其鏈接到* .resx文件下。

+0

感謝您的建議。也許我會更改自己的本地化系統,以便在某一天收集所有本地化的.resx文件,但目前我發現將它們放在多個.resx文件中會更方便,每個.resx文件都與本地化字符串用於的類相關聯這非常適用於非表單類。對於Forms類,我確實遇到了我的程序和Visual Studio設計人員難以彼此和睦相處的問題,但是我目前的解決方法(請參閱我對Hans的評論)似乎可以接受。 – RenniePet 2011-07-08 10:40:31