我的Visual Studio 2015年解決方案具有以下項目:MissingManifestResourceException從PCL彙編代碼調用從UWP
- .NET程序集
- UWP裝配
- PCL裝配
- .NET單元測試庫
- UWP單元測試應用程序
PCL as sembly包含嵌入的字符串資源表(通過項目中的RESX文件)和一個允許調用者從字符串資源表中獲取字符串的簡單類。 PCL旨在允許在.NET和UWP程序集之間共享字符串。
運行.NET單元測試庫時,單元測試會調用.NET程序集,該程序會從PCL程序集中獲取字符串。這按預期工作。
當運行UWP單元測試應用程序時,單元測試會調用UWP程序集,該程序會從PCL程序集中獲取字符串。這會失敗並出現以下異常消息:
System.Resources.MissingManifestResourceException:無法爲包[guid]中的資源文件[blah]加載資源。
我試過this solution,但調用GetForViewIndependentUse()
有COMException
失敗指出「ResourceMap未找到」。
發生了什麼事?這個調用鏈適用於.NET單元測試堆棧。我已經檢查確保所有程序集的中性語言都設置爲「英語」。在.NET程序集和UWP程序集之間共享字符串表的最佳方式是什麼?
「in package」告訴你出了什麼問題,資源被嵌入到程序集中,而不是程序包中。資源在UWP中完全不同,它們被編譯成PRI blob並嵌入到包中。由於衛星組件無法在UWP中工作,因此令人信服的ResourceManager從組件中讀取可能會非常棘手,因爲沒有真正的想法。 –