【发布时间】:2020-09-04 13:16:59
【问题描述】:
Travis CI 最近在其构建系统中添加了Windows OS 选项。不幸的是,preinstalled packages 仅包含 Visual Studio 2017。
如何在 Travis 上构建 Visual Studio 2019 项目(例如 .Net Core 3.1 和 v142 构建工具项目)?
【问题讨论】:
标签: travis-ci visual-studio-2019
Travis CI 最近在其构建系统中添加了Windows OS 选项。不幸的是,preinstalled packages 仅包含 Visual Studio 2017。
如何在 Travis 上构建 Visual Studio 2019 项目(例如 .Net Core 3.1 和 v142 构建工具项目)?
【问题讨论】:
标签: travis-ci visual-studio-2019
使用更新的构建工具的关键是Chocolatey,Windows 包管理器。只要该工具集在 Chocolatey 上可用,您就可以将其安装在您的 Travis VM 上。
对于 .Net Core,这意味着安装 dotnetcore-sdk 包。
对于 VC++ 构建工具,有 visualstudio2019buildtools 包,但请注意您必须选择加入 Microsoft.VisualStudio.Component.VC.Tools.x86.x64 功能。语法见下文。 Build Tools component directory 中提供了完整的功能列表。
这是 VS 2019 解决方案的完整 .travis.yml 文件,其中包含 C++ 项目、.Net Standard 2.0 项目和 .Net Core 3.1 项目。测试项目使用非托管 DLL。
os: windows
language: cpp
env:
- MSBUILD_PATH="C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin"
install:
- choco install visualstudio2019buildtools --package-parameters "--add Microsoft.VisualStudio.Component.VC.Tools.x86.x64"
- choco install dotnetcore-sdk
- dotnet restore
script:
- export PATH=$MSBUILD_PATH:$PATH
- MSBuild.exe -p:Configuration=Release -p:Platform=x64 CppProject/CppProject.vcxproj
- dotnet build --configuration Release
- dotnet test DotNetProject.Tests/bin/Release/netcoreapp3.1/DotNetProject.Tests.dll
【讨论】: