我正在ASP.NET MVC 5中开发一个SharePoint Online加载项。当从Shareoint返回相应的语言代码时,我有三个我希望CultureInfo
读取的三种语言的资源文件。这是我的代码:
在ActionResult Index:
var returnedLangCode= WorkPlanRepo.LangSettings();
if (returnedLangCode!= "")
{
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(returnedLangCode);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(returnedLangCode);
}
else
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("en");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en");
}
在我的类workPlanRepo中返回sharePoint Lang设置的方法:
public string LangSettings()
{
CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;
var twoLetterLangName = currentCulture.TwoLetterISOLanguageName;
return twoLetterLangName;
}
我有三个资源文件,默认是英文,然后我有瑞典语和丹麦语。所有资源都设置为公共。在视图中,我到达资源文件,如下所示:
@Html.Label(CMP.ArbetsplanWeb.App_LocalResources.GlobalRes.ResetCalender ,new { @class = "btn btn-default", id = "clearCal" })
这是错误消息:
在设置CultureInfo时会返回错误。想要插入img,但上传工具似乎无法正常工作。
无法找到适合指定文化或中性文化的任何资源。确保在编译时将“CMP.ArbetsplanWeb.App_LocalResources.GlobalRes.resources”正确嵌入或链接到程序集“CMP.ArbetsplanWeb”中,或者所有所需的附属程序集都是可加载和完全签名的。
Line 75: public static string ResetCalender {
Line 76: get {
Line 77: return ResourceManager.GetString("ResetCalender", resourceCulture);
Line 78: }
Line 79: }
MissingManifestResourceException:找不到适合指定文化或中性文化的任何资源。确保在编译时将“CMP.ArbetsplanWeb.App_LocalResources.GlobalRes.resources”正确嵌入或链接到程序集“CMP.ArbetsplanWeb”中,或者所有所需的附属程序集都是可加载和完全签名的。 System.Resources.ManifestBasedResourceGroveler.HandleResourceStreamMissing(String fileName)
我没有在web.config
或Global.asax
注册任何内容。我现在必须做错事。但是无法弄清楚是什么。我找到了不同的指南和文档,但无法弄清楚如何正确使用。
感谢所有帮助!!
答案 0 :(得分:0)
解决了它。我使用ASP.NET文件夹作为我的资源。当我更改为常规文件夹时,一切正常。