【问题标题】:Visual Studio builds solution but MSBuild from the command line failsVisual Studio 构建解决方案,但命令行中的 MSBuild 失败
【发布时间】:2016-03-25 16:35:27
【问题描述】:

我看过很多关于这个主题的帖子,但似乎没有一个真正解决我的具体错误/情况(或者至少解决方案还没有奏效)。我可以在 Visual Studio 中很好地构建我的解决方案,但使用以下命令行语句失败。

msbuild Project.sln /t:Build /p:RunOctoPack=true

我总共收到 21 个错误,每个都与我在下面发布的错误(无效令牌)相似。

ApplicationConfiguration\ApplicationSessionService.cs(19,30): 错误 CS1002: ; e 预期 [C:\Projectstuff\Project.Common\Project.Common.csproj] ApplicationConfiguration\ApplicationSessionService.cs(19,54):错误 CS1519:Inv 类、结构或接口成员声明 [C:\Projectstuff\Project.Common\Project.Common.csproj] 中的有效标记 '!=' Events\UsbDeviceChanged.cs(48,46): error CS1056: Unexpected character '$' [C:\Projectstuff\Project.Common\Project.Common..Common.csproj]

该项目是使用 .Net 4.5.2 构建的,但是我注意到这是命令窗口中的第一个输出行之一。同样,这是在 Visual Studio 2015 社区版中构建的,我知道我的机器上有 .Net 4.5.2 框架,所以不确定这是否重要。

核心编译: C:\windows\Microsoft.NET\Framework64\v4.0.30319\Csc.exe

【问题讨论】:

  • 什么版本的 MSBuild?您是否安装了任何其他 Visual Studio? Afaik,MSBuild 切换到它最初附带的编译器(例如,MSBuild 14 使用 VS2015 编译器),因此它可能使用不完全支持您的代码的编译器进行编译。如果您将编译器设置为在 IDE 中以不同方式使用,情况尤其如此(但这主要影响 C++ 项目。不完全确定 C#)

标签: c# .net visual-studio msbuild visual-studio-2015


【解决方案1】:

上周刚刚发生在我身上,我敢打赌你也有同样的情况!请看我的问题here

您的代码中可能有一个不可显示的字符。您可能想尝试围绕编译器报告的第一个错误的位置重新编写代码。

【讨论】:

  • 谢谢,我有一些代码跨越两行,没有 _,虽然 Visual Studio 构建得很好,但 MSBuild 一直失败。谢谢!
猜你喜欢
  • 2011-01-13
  • 2015-07-31
  • 2012-01-03
  • 1970-01-01
  • 2015-06-25
  • 2011-04-22
  • 1970-01-01
  • 1970-01-01
  • 2015-11-15
相关资源
最近更新 更多