BC30456:CultureInfo不是全球化的成员

时间:2016-09-27 07:47:08

标签: asp.net visual-studio-2015 reference windows-10

我开始在VS2015中的ASPX项目上遇到以下错误,突然出现问题,似乎是在安装了Windows 10之后Feature update to Windows 10, version 1607

  

BC30456:' CultureInfo'不是全球化'

的成员

这发生在之前没有问题的服务器端代码文件中。我使用git来跟踪变化,整个项目中唯一改变的是将注释从一个地方移动到另一个地方(我甚至尝试撤消更改)。除此之外,这是我第一次打开项目,因为Windows安装了版本1607更新,如果这与它有任何关系。具体来说,我前一天正在使用该项目。

我找到this post,建议为项目添加System.Globalization的引用。我特意尝试添加对System.Globalization的引用,但没有找到这样的条目。然后我尝试添加对mscorlib的引用(通过列出的条目和通过文件浏览),并且它已经引用了mscorlib。此外,在源代码中,使用Globalization.CultureInfo的行显得很好,没有任何红色标记。鼠标悬停显示组件的信息,Go to definition浏览到mscorlib中定义CultureInfo类的地方。

问题在于选择View in Browser时。这是一个非编译项目(没有bin),虽然我确实尝试了Rebuild Solution,这在错误条件上没有任何区别。我将处于此确切状态的代码文件上传到服务器,它在实际服务器上运行良好。

更新1 :我尝试在Web.Config中添加引用,如下所示,但这无法解决问题

<compilation>
  <assemblies>
    <add assembly="System.Globalization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
  </assemblies>
</compilation>

3 个答案:

答案 0 :(得分:4)

虽然我不能确切地说出被引用的内容,但显然当我说Globalization.CultureInfo 时它引用了不同的“全球化”。只需将System添加到前面就会使错误消失。这非常奇特。我尝试搜索Globalization的解决方案,但没有其他任何内容出现。我不知道为什么这一点从此开始,因为项目中没有任何内容发生变化,因为实际的服务器不需要System作为前缀,并且因为鼠标悬停信息似乎并不关心。同样,解决方案如下:

  

系统 .Globalization.CultureInfo ... //尝试包含“系统”。在前面。

答案 1 :(得分:0)

我有类似的问题。编译器收到错误:

BC30456:'DateTimeStyles'不是'全球化'的成员。

我刚刚安装了Windows 10并使用了Visual Studio 2013.操作系统安装了更新,现在正在运行.Net Framework版本:4.6.1586.0。 您的解决方案解决了我的问 包括全球化前的系统:

System.Globalization.DateTimeStyles

奇怪的是,在升级到Win10 + .Net 4.6之前,我使用相同的代码而不需要指定“系统”。

答案 2 :(得分:0)

在您的代码中,您需要更改此内容:

Globalization.DateTimeStyles

为此:

System.Globalization.DateTimeStyles

希望这有帮助