首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Docker容器中安装VisualStudio2017工具

无法在Docker容器中安装VisualStudio2017工具
EN

Stack Overflow用户
提问于 2018-09-10 21:22:54
回答 2查看 1.6K关注 0票数 0

我正在尝试使用Visual代码分析创建一个Docker映像,这是VisualStudio2017构建工具的一部分。下面的Dockerfile工作,工具安装在C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Team Tools\Static Analysis Tools

代码语言:javascript
复制
# escape=`

FROM microsoft/dotnet-framework:4.7.1

# Restore the default Windows shell for correct batch processing below.
SHELL ["cmd", "/S", "/C"]

# Download the Build Tools bootstrapper.
ADD https://aka.ms/vs/15/release/vs_buildtools.exe C:\TEMP\vs_buildtools.exe

# Install VS Build Tools
RUN C:\TEMP\vs_buildtools.exe --quiet --wait --norestart --nocache `
    --add Microsoft.VisualStudio.Component.Static.Analysis.Tools `
 || IF "%ERRORLEVEL%"=="3010" EXIT 0

ENTRYPOINT powershell
CMD ["powershell.exe", "-NoLogo", "-ExecutionPolicy", "Bypass"]

到现在为止还好。但是,我实际上需要将映像建立在microsoft/dotnet-framework:4.7.2-sdk-windowsservercore-ltsc2016之上,因为这最终将成为TeamCity构建代理映像的一部分,而这是基于。所以,我把我的行文改为:

代码语言:javascript
复制
FROM microsoft/dotnet-framework:4.7.2-sdk-windowsservercore-ltsc2016

当我构建它时,图像就会生成,并且我不会出错。它似乎在起作用,而且花费的时间也差不多。但是,缺少目录C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Team Tools\。也许这是4.7.2的一些问题,所以我尝试了microsoft/dotnet-framework:4.7.1-sdk-windowsservercore-ltsc2016。同样的错误。我也尝试了microsoft/dotnet-framework:4.7.2-sdk-windowsservercore-1803也没有运气。我还试着用巧克力来安装VS构建工具,但这是完全相同的行为。

这个microsoft/dotnet-framework:4.7.1映像有什么特别之处,因为它是VS构建工具将要安装的唯一映像?我找不到它的Dockerfile,所以我不知道它所基于的是什么(他们只是说“”,这是没有帮助的),或者这个映像是否安装或做了什么特别的事情。

是否有人获得VS构建工具,以便在容器中工作,而不是基于microsoft/dotnet-framework:4.7.1

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-11 16:24:03

我找到了一个可行的解决方案。在微软修复导致VS构建工具安装程序无法在某些Windows映像上工作的任何错误之前,这是一种更好的解决办法。

您可以创建一个多级构建,然后复制两个Team Tools文件夹以及必要的.targets文件。如果您安装了静态代码分析之外的其他内容,您可能还需要找到需要复制的目标文件。

示例:

代码语言:javascript
复制
# escape=`

FROM microsoft/dotnet-framework:4.7.1 as vsbuild

# Restore the default Windows shell for correct batch processing below.
SHELL ["cmd", "/S", "/C"]

# Download the Build Tools bootstrapper
ADD https://aka.ms/vs/15/release/vs_buildtools.exe C:\TEMP\vs_buildtools.exe

# Install Static Analysis Tools
RUN C:\TEMP\vs_buildtools.exe --quiet --wait --norestart --nocache `
    --add Microsoft.VisualStudio.Component.Static.Analysis.Tools `
 || IF "%ERRORLEVEL%"=="3010" EXIT 0

FROM jetbrains/teamcity-agent:2018.1.2-windowsservercore-ltsc2016

COPY --from=vsbuild ["C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/Team Tools", "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/Team Tools"]
COPY --from=vsbuild ["C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/MSBuild/Microsoft/VisualStudio/v15.0/CodeAnalysis", "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/MSBuild/Microsoft/VisualStudio/v15.0/CodeAnalysis"]
票数 0
EN

Stack Overflow用户

发布于 2018-12-17 21:23:43

VisualStudio2017版本15.9需要Windows 2019或Windows10 "RS5“。见https://aka.ms/setup/containers/servercore1809

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52265659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档