簡體   English   中英

Mac中的MonoDevelop,ResourceManager無法從資源文件讀取值

[英]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文件被錯誤地標記為BundleResourceBuild Action OSX / iOS BundleResource通常用於二進制,xml,文本等。但不是.resx文件,因為它們是通過System.Resources.ResourceManager並且需要以特定方式添加到CIL程序集中(主要是由於區域性)本土化)。

1)將.resx文件標記為EmbeddedResourceBuild Action

2)如果您要“隱藏”異常並提供“用戶友好”消息,請在控制台調試消息傳遞,日志記錄,某處等中包含實際的異常消息...

3)在向StackOverflow發布問題時,請發布實際的異常消息/調用堆棧。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM