构建NET471&命令行

时间:2017-10-23 09:33:26

标签: msbuild windows-10 .net-standard-2.0

是否可以从命令行编译NET471和netstandard(和netcoreapp)2.0解决方案?

我有一个包含netstandard 2.0库,netcoreapp 2.0项目和WPF Net 4.7.1测试应用程序的解决方案。

现在我尝试以两种方式构建解决方案,但每种方式都不支持对立框架。

的MSBuild

MSBuild.exe .\MySolution.sln

类库错误:

  

C:\ Development \ TestLibrary.csproj(1,1):错误MSB4041:默认XML   项目的名称空间必须是MSBuild XML名称空间。如果   我正在使用MSBuild 2003格式创建项目,请添加   xmlns =“http://schemas.microsoft.com/developer/msbuild/2003”到    元件。如果项目是在旧的1.0或   1.2格式,请将其转换为MSBuild 2003格式。

DOTNET build

dotnet build .\MyTestSolution.sln
  

C:\程序   文件\ DOTNET \ SDK \ 2.0.2 \ Microsoft.Common.CurrentVersion.targets(2925,5):   错误MSB4216:无法运行“GenerateResource”任务,因为   MSBuild无法使用运行时“CLR4”创建或连接到任务主机   和架构“x86”。请确保(1)请求的运行时间   和/或架构在机器上可用,和(2)   必需的可执行文件“C:\ Program Files \ dotnet \ sdk \ 2.0.2 \ MSBuild.exe”   存在并且可以运行。   [C:\发展\ MyTestApp.csproj]

注意:我不想在我的NETStandard库中添加多个框架目标(我最近刚刚将它们从.NET47中删除),除了MSBuild似乎不支持新的csproj格式。

1 个答案:

答案 0 :(得分:1)

感谢@Martin Ullrich的评论,我已经明白了。

Original MSBuild location

添加最新的MSBuild版本

Adjust PATH

重新启动我的PowerShell,现在显示正确的版本

Now using correct MSBuild version