C# 资源在asp.net MVC 5中不工作

C# 资源在asp.net MVC 5中不工作,c#,asp.net-mvc,resources,multilingual,C#,Asp.net Mvc,Resources,Multilingual,我在asp.net MVC 5中使用语言时遇到问题。我编写了一个基本控件来根据cookie更改区域性设置。 代码在视图上工作,但在控制器或模型数据注释上都不工作 基本控制器是: public class BaseController : Controller { protected override IAsyncResult BeginExecuteCore(AsyncCallback callback, object state) {

我在asp.net MVC 5中使用语言时遇到问题。我编写了一个基本控件来根据cookie更改区域性设置。 代码在视图上工作,但在控制器或模型数据注释上都不工作

基本控制器是:

public class BaseController : Controller
    {
        protected override IAsyncResult BeginExecuteCore(AsyncCallback callback, object state)
        {
            if (Request.Cookies["Language"] == null || !Validate.IsLanguage(Cookies.CurrentLanguageCode))
            {
                HttpCookie cookie_new = new HttpCookie("Language", "en");
                cookie_new.Expires = DateTime.Now.AddYears(1);
                Response.SetCookie(cookie_new);

                Thread.CurrentThread.CurrentCulture =
                Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("en");
            }
            else
            {
                Thread.CurrentThread.CurrentCulture =
                Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(Cookies.CurrentLanguageCode);
            }
            return base.BeginExecuteCore(callback, state);
        }
    }
接收错误的控制器:

    ViewBag.ErrorTitle = Thread.CurrentThread.CurrentCulture + "1";
    ViewBag.Description = "";
    switch (id)
    {
        case 0:
            ViewBag.ErrorTitle = Resource.Lang.ErrorTitlePageNotFound;
            ViewBag.Description = Resource.Lang.ErrorDescriptionPageNotFound;
            break;
错误是:

找不到任何适合指定区域性或非特定区域性的资源。确保 “App_GlobalResources.Lang.resources”已正确嵌入或链接 在编译时放入程序集,或所有附属程序集 必须是可加载且完全签名的

cookie确实存在,默认语言设置为默认值,即en US,我有一个资源文件:Lang.resx


我在数据注释上遇到了相同的错误。我还编写了一个基类,让所有模型继承它,但仍然会遇到同样的问题。

cultureInfo不应该像“en GB”而不仅仅是“en”吗?检查