【问题标题】:Error MSB3095 when compiling a Windows Form Application编译 Windows 窗体应用程序时出现错误 MSB3095
【发布时间】:2019-04-29 19:56:29
【问题描述】:

当我尝试编译任何 Windows 窗体应用程序项目时,我收到一条错误消息:

\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2114,5):错误 MSB3095:参数无效。不支持文化。

\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2114,5):错误 MSB3095:参数名称:名称

\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2114,5):错误 MSB3095:x86 是无效的区域性标识符。

当我偶然发现此错误消息时,我正在使用 VS 2017。上网一查,发现自己的问题从来没有被别人问过。所以我卸载了与 Visual Studio 相关的所有内容并安装了 VS 2019。

在解决这个问题的所有努力都失败后,我检查了我的应用程序引用和 MSBuild 程序集文件是否存在冲突。这也不是解决方案。现在我比计划晚了两周,但仍然没有答案。

我尝试更改平台目标和目标框架,希望看到不同但没有;什么都没有改变。

我还尝试了其他应用项目和目标。结果如下: 编译控制台应用程序不会引发错误消息。 但是,编译 Windows 窗体应用程序会在不同的项目中引发相同的错误消息。

【问题讨论】:

  • 可以分享一下csproj文件吗?我建议尝试使用二进制日志(开发人员命令行中的msbuild -bl 创建msbuild.binlog 文件)和MSBuild Structured Log Viewer 来调查x86 是如何成为一种文化的。还要检查您的环境变量,看看它们是否设置了一些通用变量名称(PlatformCulture)。
  • 这可能与 .refresh 文件有关,您可以检查 this link 是否有帮助。请转到 Tool=>Options=>Projects and Solutions=>Build and Run=>将输出详细程度更改为 Details 以查看有关错误消息的更多详细信息。
  • @MartinUllrich 我确定问题出在 MSBuild 本身。我创建了一些新的 Windows 窗体应用程序项目,以查看它是否仅适用于我的主项目,但我收到了相同的错误消息。
  • @LanceLi-MSFT 我按照你说的做了,这里是构建日志文件:shrib.com/#msbuild3095error
  • 问题是 MSBuild 中记录此异常的代码路径是超级通用的,因此很难判断可能出了什么问题...

标签: c# visual-studio compiler-errors msbuild


【解决方案1】:

错误MSB3095的原因实际上并不完全具体,但它可能是由您的项目所在的目录引起的,就像我的情况一样。

因此,只需将您的项目移动到另一个目录,该目录不包含非 ASCII 字符。它很可能会解决它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 2018-10-09
    • 2015-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多