2017-09-08 76 views
1

我将我的项目(https://github.com/MarkKhromov/The-Log)迁移到.NET标准2.0,我的appveyor构建已损坏。我如何解决这个问题?建立在appveyor .NET标准2.0

我的解决方案包括:

  • .NET标准项目
  • 控制台应用程序项目
  • 类库(测试)项目

我已经尝试过这样写道:

DOTNET: 2.0.0 脚本: - dotnet恢复 - DOTNET建立

  • DOTNET构建TheLog/TheLog.csproj -c推出-f netstandard2.0
  • 的msbuild TheLog.Demos/TheLog.Demos.csproj/P:配置=松开
  • 的msbuild TheLog.Tests/TheLog.Tests.csproj/p:配置=调试
  • NUnit控制台TheLog.Tests/TheLog.Tests.csproj

但每次我有错误

回答

1

你需要改变你的appveyor配置的VS 2017年形象,以构建.NET标准库,并使用基于dotnet工装csproj项目。

+0

AppVeyor基于'msbuild'的构建阶段可以在Visual Studio 2017的.NET Standard 2.0项目中正常工作。但是,测试执行应该使用基于'dotnet'的工具来完成。 – ilyaf

+0

我看了一下你最近在master上提交的构建日志,它使用了msbuild 14,所以我想你还没有选择2017年的图像。顺便说一句,如果测试执行是通过msbuild或'dotnet'完成的,它们都调用'VSTest' msbuild目标。 –

1

需要更改AppVeyor上的两个设置。
1.更改Build worker imageVisual Studio 2017 - 环境设置
2.新增“DOTNET恢复”命令进入Before build scriptCMD - 构建设置

我已经证实了它一个新的空项目/解决方案设置。 NET标准2.0或.NET Core 2。