我想从.net核心类库中的资源文件中读取本地化值,但我得到了一个例外。我在.net核心wep api项目中添加了我的类库。 这些是我的资源文件“Resource.de.resx”,“Resource.en.resx”,“Resource.tr.resx”,它们位于我的类库项目的根文件夹中。 web api项目中没有资源文件。当我构建我的类库时,会创建三个文件夹(de,en,tr),在这些文件夹中有一个名为“XXX.Model.Core.resources.dll”的dll。
System.Private.CoreLib.ni.dll中发生了'System.Resources.MissingManifestResourceException'类型的异常,但未在用户代码中处理 附加信息:找不到适合特定文化或中性文化的资源 确保在编译时将“Resource.resources”正确嵌入或链接到程序集“类库”中,或者所有所需的附属程序集都是可加载和完全签名的。
这是我的类库project.json文件:
{
"version": "1.0.0-*",
"dependencies": {
"Microsoft.EntityFrameworkCore": "1.1.0",
"Microsoft.EntityFrameworkCore.DynamicLinq": "1.0.3.3",
"NETStandard.Library": "1.6.1",
"System.ComponentModel.Annotations": "4.3.0",
"System.ComponentModel.Primitives": "4.3.0",
"System.Reflection.Extensions": "4.3.0",
"System.Resources.Reader": "4.3.0"
},
"frameworks": {
"netstandard1.6": {
"imports": "dnxcore50"
}
},
**"buildOptions": {
"embed":
{ "include": [ "Resource.de.resx", "Resource.en.resx", "Resource.tr.resx" ]}}}**
这是我的类,它试图访问资源:
var resourceManager = new ResourceManager("Resource", typeof(LanguageSupportedException).GetTypeInfo().Assembly);
resourceManager.GetString("xx");
我该如何解决?
答案 0 :(得分:0)
我在 XAML 中与 WPFLocalizationExtension 结合使用时也遇到过此消息。 我有这段 XAML 代码:
<Label
Content="{lex:Loc WindspeedArea}"
ToolTip="{lex:Loc TipResources:TT_WindSpeed}"/>
WindspeedArea 位于 Resources.resx 中。
TT_WindSpeed 位于 TipResources.resx 中。
然后我有了将 Resources.resx 中的所有字符串组合起来的想法。
忘记从所有 XAML 文件中删除所有“TipResource:”前缀。
因此得到异常。很多次。