gpt4 book ai didi

visual-studio - 如何在 Docker 镜像中应用最新的 msbuild?

转载 作者:行者123 更新时间:2023-12-03 01:45:23 27 4
gpt4 key购买 nike

使用当前的 microsoft/aspnetcore-build:2.0(或类似标签 2.0.2)Docker 容器镜像,即使构建一个简单的 ASP.NET Core 应用程序也总是需要至少 20 秒的时间。

当我了解到 msbuild 的下一版本将重点关注重大性能改进时,我尝试了一下。当前 Visual Studio 2017 15.5 预览版(15.5.0 版本 1.0)的一部分还附带了 msbuild 版本 15.5.113.63837。事实上,这个版本最多只需要 10 秒即可构建一个简单的应用程序,这是一个令人印象深刻的改进!

我应该如何继续才能将最新版本的 msbuild 集成到我的 Dockerfile 管道中?将当前的 dotnet 2.0.2 sdk 与最新的 msbuild 连接起来是否容易?也许有一个特定的标签可以真正获取最新的 msbuild/dotnet sdk?

我的机器规范:

  • Windows 版本:10.0.15063 内部版本 15063
  • 系统 SKU:LENOVO_MT_20CJ_BU_Think_FM_ThinkPad T550
  • 安装的物理内存 (RAM):32.0 GB
  • 处理器:Intel(R) Core(TM) i7-5600U CPU @ 2.60GHz、2594 Mhz、2 个核心、4 个逻辑处理器
  • 磁盘型号:三星 SSD 840 EVO 500GB

最佳答案

How should I proceed in order to integrate this latest version of msbuild in my Dockerfile pipeline?

您可以使用 Dockerfile 将构建工具安装到 Docker 容器中。如下面的示例代码:

# ENV TEST_CONTAINER=1 \
VS_BUILDTOOLS_URI=https://aka.ms/vs/15/release/799c44140/vs_buildtools.exe \
VS_BUILDTOOLS_SHA256=FA29EB83297AECADB0C4CD41E54512C953164E64EEDD9FB9D3BF9BD70C9A2D29 \

Download vs_buildtools.exe
RUN $ErrorActionPreference = 'Stop'; \
$ProgressPreference = 'SilentlyContinue'; \
$VerbosePreference = 'Continue'; \
Invoke-WebRequest -Uri $env:VS_BUILDTOOLS_URI -OutFile C:\vs_buildtools.exe; \
if ((Get-FileHash -Path C:\vs_buildtools.exe -Algorithm SHA256).Hash -ne $env:VS_BUILDTOOLS_SHA256) { throw 'Download hash does not match' }

# Install Visual Studio Build Tools
RUN $ErrorActionPreference = 'Stop'; \
$VerbosePreference = 'Continue'; \
$p = Start-Process -Wait -PassThru -FilePath C:\vs_buildtools.exe -ArgumentList '--quiet --nocache --wait --installPath C:\BuildTools'; \
if ($ret = $p.ExitCode) { c:\collect.exe; throw ('Install failed with exit code 0x{0:x}' -f $ret) }

您可以将VS_BUILDTOOLS_URI更改为最新版本msbuild的下载路径。

参见Install Build Tools into a Container3 Steps to MSBuild with Docker了解更多详细信息。

关于visual-studio - 如何在 Docker 镜像中应用最新的 msbuild?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46883458/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com