首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >System.Globalization.CultureInfo不包含名称的定义

System.Globalization.CultureInfo不包含名称的定义
EN

Stack Overflow用户
提问于 2016-03-28 19:09:31
回答 1查看 7.8K关注 0票数 4

对于System.Globalization.CultureInfo类和System.Globalization命名空间,我有一个特殊的问题。我将从具有CultureInfo属性的API调用返回一个对象(语言)。我能够在客户端成功地将它拉到一个IENumerable<Language> languages {get; set;}中,但是当我尝试用var x = model.languages.First().AssociatedCulture.Name这样的行进行构建时,会遇到以下错误:

错误489 'System.Globalization.CultureInfo‘不包含'EnglishName’的定义,也找不到接受'System.Globalization.CultureInfo‘类型的第一个参数的扩展方法'EnglishName’(您缺少使用指令还是程序集引用?)

错误488类型'System.Globalization.CultureInfo‘是在未引用的程序集中定义的。您必须添加对程序集'System.Globalization,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f7f11d50a3a‘的引用。

下面是我运行的几行代码的顺序:

代码语言:javascript
复制
var y = new CultureInfo("en"); //works
var z = y.Name; //works
var x = model.languages.First().AssociatedCulture.EnglishName; //error at this line.

我不明白这个幻影的错误。如果有帮助,创建Language.cs的项目将使用.NET可移植的v.4.5。

我尝试过将它添加到web.config程序集块中,但没有骰子。

代码语言:javascript
复制
<compilation defaultLanguage="c#" debug="true" targetFramework="4.5">
      <assemblies>
        <add assembly="System.Globalization , Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
        <add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
        <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Web.Helpers, Version=2.0.0.0, Culture=neutral,PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Mvc, Version=4.0.0.0, Culture=neutral,PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.WebPages, Version=2.0.0.0, Culture=neutral,PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
        <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
        <add assembly="System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
      </assemblies>
      <buildProviders>
        <add extension=".cshtml" type="System.Web.WebPages.Razor.RazorBuildProvider, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      </buildProviders>
    </compilation>

以前有人经历过这个问题吗?它是由.NET便携引起的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-28 19:18:35

您需要一个对System.Globalization的项目引用。

在编辑web.config文件时,您要为从.aspx/.cshtml文件生成的动态程序集添加一个引用,这与您的项目引用(它们是来自项目的输出DLL的引用)是独立的和不同的。

通过解决方案资源管理器在Visual中添加项目引用。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36269311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档