![](/img/trans.png)
[英]Accessing a resource file from a different project with ResourceManager C#
[英]MonoDevelop in mac, ResourceManager can not read value from resource file
我們遇到了一個使用Xamarin加載Mac資源的問題。 我們有一個名為Resource1.resx的資源文件。 使用以下代碼從此資源文件加載一個字符串時,它失敗。 請參考附件樣本來創建此問題。 您能否提供一些加載資源的建議?
如果您需要更多信息,請告訴我。 請檢查代碼(在MainWindows.cs中),如下所示:
partial void loadResourceButtonClicked(MonoMac.Foundation.NSObject sender){
try{
var b = Resources1.ResourceManager;
var name = b.GetString("Name1");
resultLabel.StringValue = name;
}
catch {
resultLabel.StringValue = "Resource load failed.";
}
}
PS。我們已經附上了測試項目 ,請檢查一下。
謝謝。
您的“隱藏”例外:
找不到適合於指定區域性或中性區域性的任何資源。 確保在編譯時已將“ MacResourceTest.Resources1.resources”正確嵌入或鏈接到程序集“ MacResourceTest”中,或者確保所需的所有附屬程序集均已加載並完全簽名。
該異常消息中的關鍵階段是“ 確保XXXX已正確嵌入或鏈接到程序集中 ”。
快速瀏覽您的項目, .resx
文件被錯誤地標記為BundleResource
的Build Action 。 OSX / iOS BundleResource通常用於二進制,xml,文本等。但不是.resx
文件,因為它們是通過System.Resources.ResourceManager
並且需要以特定方式添加到CIL程序集中(主要是由於區域性)本土化)。
1)將.resx
文件標記為EmbeddedResource
的Build Action
2)如果您要“隱藏”異常並提供“用戶友好”消息,請在控制台調試消息傳遞,日志記錄,某處等中包含實際的異常消息...
3)在向StackOverflow發布問題時,請發布實際的異常消息/調用堆棧。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.