是否可以在Windows Server上的Windows Container中安装任何版本的Visual Studio?
动机是使用Windows Containers在持续集成系统中构建软件,以便构建环境标准化。
答案 0 :(得分:18)
Visual Studio上的Visual Studio似乎to not be supported officially,但我同意能够做到这一点真的很棒。试试吧:
[...]
Microsoft (R) Build Engine version 15.3.409.57025 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.
(我将此图片推入lukaslansky/visualstudio-netwebworkload,请谨慎使用。)
构建的输出是:
--add
所以这似乎有效!您应该使用这些DataTable
安装程序参数来指定构建所需的组件,它们对应于您在GUI中看到的工作负载和组件。 See the documentation.
答案 1 :(得分:3)
Windows Containers目前不包含GUI应用程序。限制是在Microsoft上,而不是在Docker上。
例如尝试一些简单的操作,例如运行记事本(在Windows Server Core容器中)。该过程已启动,但未显示任何GUI。
答案 2 :(得分:1)
仅仅为了记录MS没有计划支持VS内部容器,你有最好的选择是MsBuild。几个月前是可能的,但VS的最新版本是不可能的。资料来源:vsts-agents
答案 3 :(得分:0)
此时最好的选择是使用Visual Studio Build Tools。
答案 4 :(得分:0)
在Windows容器中安装可视化构建链的一种方法是使用巧克力包装visualstudio2017buildtools。
使用类似起动Dockerfile:
FROM microsoft/windowsservercore
RUN powershell.exe -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SETX PATH "%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
RUN choco install -y visualstudio2017buildtools --package-parameters "--add Microsoft.VisualStudio.Workload.VCTools --installPath C:\BuildTools" || IF "%ERRORLEVEL%"=="3010" EXIT 0
RUN call "C:\BuildTools\VC\Auxiliary\Build\vcvars64.bat"