是否可以在Windows容器中安装Visual Studio
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否可以在Windows容器中安装Visual Studio相关的知识,希望对你有一定的参考价值。
是否可以在Windows Server上的Windows Container中安装任何版本的Visual Studio?
其动机是使用Windows Containers在持续集成系统中构建软件,以便构建环境标准化。
Visual Studio在Core Server上似乎是to not be supported officially,但我同意能够做到这一点真的很棒。我们试试吧:
FROM mcr.microsoft.com/windows/servercore:ltsc2019
SHELL ["powershell"]
RUN Invoke-WebRequest "https://aka.ms/vs/15/release/vs_community.exe" -OutFile "$env:TEMPvs_community.exe" -UseBasicParsing
RUN & "$env:TEMPvs_community.exe" --add Microsoft.VisualStudio.Workload.NetWeb --quiet --wait --norestart --noUpdateInstaller | Out-Default
RUN & 'C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/MSBuild/15.0/Bin/MSBuild.exe' /version
CMD ["powershell"]
(我将这张图片推入lukaslansky/visualstudio-netwebworkload,谨慎使用。)
构建的输出是:
[...]
Microsoft (R) Build Engine version 15.3.409.57025 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.
所以这似乎有效!您应该使用那些--add
安装程序参数来指定您为构建准确需要的组件,它们对应于您在GUI中看到的工作负载和组件。 See the documentation.
Windows容器当前不包含GUI应用程序。限制是在Microsoft上,而不是在Docker上。
例如,尝试一些简单的操作,例如运行记事本(在Windows Server Core容器中)。该过程已启动,但未显示任何GUI。
只是为了记录MS不计划支持VS内容器,你有最好的选择是MsBuild。几个月前是可能的,但VS的最新版本是不可能的。资料来源:vsts-agents
在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%chocolateyin"
RUN choco install -y visualstudio2017buildtools --package-parameters "--add Microsoft.VisualStudio.Workload.VCTools --installPath C:BuildTools" || IF "%ERRORLEVEL%"=="3010" EXIT 0
RUN call "C:BuildToolsVCAuxiliaryBuildvcvars64.bat"
在这一点上你最好的选择是使用Visual Studio Build Tools。
以上是关于是否可以在Windows容器中安装Visual Studio的主要内容,如果未能解决你的问题,请参考以下文章
Windows ServiceWindows Service在Visual Studio中安装调试
VS 2010 不工作并在 Windows 10 中安装 Visual Studio 2010 SP1 更新
要在Visual Studio 2019中安装哪个sqlite
可以在 Microsoft 的 Visual C++ 2010 Express Edition 中安装 Whole Tomato 的 Visual Assist X 吗?