【问题标题】:Error in Msbuild.exe for static enum class静态枚举类的 Msbuild.exe 错误
【发布时间】:2017-03-03 21:15:00
【问题描述】:

我在静态部分类 (Helper.cs) 中添加了枚举。当我在其他文件中引用此枚举时,会自动添加使用块,如 - “using static Common.Util.Helper

所以,如果我从文件夹中进行 msbuild -“Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe”它不起作用并给出如下错误 -

错误 CS1041:需要标识符; 'static' 是关键字

但在 VS 2015 中,它构建得很好。我正在使用 VS 2015 和框架版本 4.5。那么我需要在 msbuild 中进行任何设置或为此提供任何解决方案吗?

提前致谢!!

【问题讨论】:

  • 从您的 using 语句中删除 static
  • 实际上,我不想这样做,因为我在很多地方都提到了这个课程,而这种变化导致我在所有地方都发生了变化。相反,我希望看到一些与 MSBuild 相关的解决方案,因为此代码在 VS 2015 中有效!
  • 好吧,using static 是在 c#6.0 中引入的,你已经用 c#5.0 标记了你的问题,所以如果你真的在第 5 版中工作,那么这是你唯一的选择
  • 您在 MSBuild 脚本中使用的 ToolsVersionTargetFrameworkVersion 是什么?
  • 如何查看正在使用的 C# 版本?和 TargetFrameworkVersion - 4.5 和 x64,我没有明白您所说的 Toolsversion 的意思?

标签: c# visual-studio-2015 msbuild c#-5.0


【解决方案1】:

使用

"C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe"

改为。

【讨论】:

  • 不错。它对我有用。这两者有什么区别?
  • 这个使用了 Visual Studio 2015 使用的构建工具,包括 c# 6 的 csc.exe 编译器。
  • 我需要参考相同的路径来构建 x64 dll 吗?
  • 32 位 MSbuild 可以很好地生成 64 位输出程序集。
  • 每当我使用 MSbuild 和上述路径构建时,我都会得到 32 位 dll。我已将平台设置为 x64,但是当我使用 MSBuild 构建时,我得到 X86 dll(我在记事本中检查它是 PE L)但是当我在 VS 2015 中为同一个项目构建时,它显示 PE dt,即 64 位 dll)
猜你喜欢
  • 1970-01-01
  • 2014-06-01
  • 2015-04-26
  • 1970-01-01
  • 2013-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多