【发布时间】:2017-07-12 06:51:28
【问题描述】:
我正在 ASP.NET MVC 5 中开发 SharePoint Online 加载项。我有三个资源文件,我希望 CultureInfo 在从 Shareoint 返回相应的语言代码时读取它们。这是我的代码:
在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 中注册任何内容。我现在一定做错了什么。但想不通是什么。我在这方面找到了不同的指南和文档,但无法弄清楚如何正确使用它。
感谢大家的帮助!!
【问题讨论】:
标签: c# asp.net-mvc cultureinfo sharepoint-online