有没有办法在 Travis CI 中构建具有 .Net Core 和 .Net Framework 项目的 VS2017 解决方案?

Is there a way to build a VS2017 solution which has .Net Core and .Net Framework projects in Travis CI?

我正在尝试使用 .Net Core 和 .Net Framework 两种项目在 Travis CI 中构建解决方案,但我还没有实现,它只能使用 .Net 构建解决方案。 Net Framework 或仅限 .Net Core 项目,但不适用于同一解决方案中的两者。

如果有人已经处理过同样的问题并且可以帮助我,我将不胜感激。

谢谢!

查看 appveyor (https://www.appveyor.com/),一个用于 Windows 构建的 CI 服务

我为 .Net Framework 项目创建了一个标准构建,为了在同一解决方案中构建 .Net Core 项目,我刚刚创建了一些 post-build 命令,如下所示:

dotnet restore EFCore.DbContextFactory.Examples.Data/EFCore.DbContextFactory.Examples.Data.csproj --verbosity m

dotnet restore EFCore.DbContextFactory.Examples.WebApi/EFCore.DbContextFactory.Examples.WebApi.csproj --verbosity m

dotnet restore EFCore.DbContextFactory/EFCore.DbContextFactory.csproj --verbosity m

dotnet publish EFCore.DbContextFactory.Examples.Data/EFCore.DbContextFactory.Examples.Data.csproj

dotnet publish EFCore.DbContextFactory.Examples.WebApi/EFCore.DbContextFactory.Examples.WebApi.csproj

dotnet publish EFCore.DbContextFactory/EFCore.DbContextFactory.csproj

然后对于单元测试,我使用该命令执行测试并生成结果文件:

dotnet test  EF.DbContextFactory.UnitTest.Data\EF.DbContextFactory.UnitTest.Data.csproj --logger "trx;LogFileName=output.trx"

所以最后我在 appveyor (Powershell) 上发布了测试结果:

$wc = New-Object 'System.Net.WebClient'
$wc.UploadFile("https://ci.appveyor.com/api/testresults/mstest/$($env:APPVEYOR_JOB_ID)", (Resolve-Path EF.DbContextFactory.UnitTest.Data\TestResults\output.trx))

就是这样。顺便说一句,为了恢复我在构建脚本之前拥有的 nuget 包:

nuget restore