c# - 语言名称 'en-US' 无效。 (CS2038)

标签 c# .net sharpdevelop

在空的解决方案中,我不断收到警告 - 语言名称“en-US”无效。 (CS2038)。我已经尝试了一切。但是当我切换到 C# 3.0、.NET 3.5 时,警告消失了。当我创建 VB.NET Windows 应用程序解决方案时,警告也消失了。只有当我创建一个 c#5.0 NET 4.5 Windows 应用程序解决方案时才会发生这种情况。而且我必须有 4.5,因为依赖库是针对 4.5 编译的。

有没有人看过这个?它似乎独立于#Develop。是否有我缺少的 .NET 4.5 框架 C# 的配置文件或其他内容?

编辑添加以澄清(来自评论):

我已将其缩减为完全没有源代码文件。奇怪的是,它不会在我的 Windows 7 机器上执行此操作,只能在我的 Vista 上执行此操作。 Windows 7 是 64 位,而 Vista 机器是 32 位。我敢肯定这与此有关。

最佳答案

对我来说,问题是区域性 en-US 在 Windows 中注册为“自定义区域性”。

在以管理员身份运行的 PowerShell 中,您可以执行以下命令来注销自定义区域性:

Add-Type -AssemblyName sysglobl;
[System.Globalization.CultureAndRegionInfoBuilder]::Unregister("en-US");

在Windows控制面板的“区域”窗口中,可以勾选表示自定义文化的*。这是它之后的样子(请参阅 English (United States) 名称中不再有任何 *):

enter image description here

关于c# - 语言名称 'en-US' 无效。 (CS2038),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21980978/

相关文章:

c# - 您如何对相互递归方法进行单元测试?

c# - 如何以编程方式将目录压缩为 zip 文件

c# - 小数位和千位的字符串格式

c# - SharpDevelop 改变代码风格

c# - asp.net网站如何支持https(ssl)?

c# - 并非所有代码路径在循环时都返回值

c# - 高性能缓存

c# - Math.Floor vs 在 C# 中转换为整数类型

c# - C# 中 COM 的松散耦合或如何避免 COMException 0x80040154