有没有办法在 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
我正在尝试使用 .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