2012-08-09 90 views
1

其實我不知道,如果這個問題已經回答了,因爲我不知道哪裏是「真正」的問題。這裏是上下文:我有C++ .NET代碼,我試圖從MSVS2005移植到MSVS2010,即從.NET 2.0移植到.NET 4.0。當爲啓動時創建的表單之一輸入方法InitializeComponent()時,我得到一次機會異常System.Resources.MissingManifestResourceException'在調用資源時顯示mscorlib.dll resources-> ApplyResources(this-> MyControl,L「MyControl」)未找到資源(?),而移植的C++ .NET代碼MSVS2005到MSVS2010

的附加信息是:

找不到任何資源適合指定區域性或中性文化。確保編譯時「MyForm.resources」已正確嵌入或鏈接到程序集「MyAssembly」中,或者確保所需的所有附屬程序集均可加載並完全簽名。

  1. 它使用MSVS2005進行編譯時效果很好。
  2. MSVS2010自動轉換所有的溶液沒有問題。
  3. 的.resx文件都在那裏。

因爲我不知道問題的根源,所以我不能多說。如果您嘗試幫助我,我將非常樂意爲您提供更多信息。

在此先感謝您的幫助。

多米尼克

回答

0

OK的RESX被編譯爲SomeFoo.MyForm.resources以前見過它,丹尼爾的建議,把我朝的解決方案。

我看着在項目中的.resx文件的屬性。所有文件都不包含「資源邏輯名稱」,但是.resx和.fr.resx文件可以在我的計算機上使用。

我刪除虛擬文件名中的條目,自此一切工作正常。

謝謝!

1

確保您的resx文件和組件的命名空間是相同的。

我哪里哪里的形式是SomeFoo.Forms.MyForm

+0

他們是。我有文件MyAssembly.MyForm.resources,在代碼中名稱空間是MyAssembly,表單是MyForm等。 – 2012-08-09 13:04:11