我试图在dockerfile中构建一个ASP.net MVC项目,以便在容器中运行。
我尝试同时使用dotnet镜像和servercore镜像
在不同的dockerfile中,然后使用Chocolately安装其他丢失的软件包并尝试使用msbuild进行构建,但我遇到了麻烦。
FROM microsoft/windowsservercore:10.0.14393.1480
SHELL ["powershell", "-Command", "$ErrorActionPreference='Stop'; $ProgressPreference='SilentlyContinue';"]
WORKDIR /appdir
EXPOSE 80
EXPOSE 443
COPY . /appdir/
COPY /ExFin.Web/packages.config /appdir/
ENV chocolateyUseWindowsCompression 'true'
RUN Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex
RUN choco install visualstudio2019buildtools -y;
RUN choco install dotnet4.5.2 -Force -y;
RUN choco install nuget.commandline --pre
ENV NUGET_PATH "C:\Chocolatey\lib\NuGet.CommandLine.3.5.0\tools"
ENV MSBUILD_PATH "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\15.0\Bin"
RUN $env:PATH = $env:NUGET_PATH + ';' + $env:MSBUILD_PATH + ';' + $env:PATH; `
RUN [Environment]::SetEnvironmentVariable('PATH', $env:PATH, [EnvironmentVariableTarget]::Machine)
RUN nuget.exe restore packages.config -PackagesDirectory /appdir/packages/
RUN ["C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\15.0\Bin\msbuild.exe", "C:/appdir/ExFin.Web/ExFin.Web.csproj"]
错误:失败的
有关详细信息,请参见日志。
有关详细信息,请参见日志。
这是否意味着需要重新启动?
最佳答案
使用基于Windows Server Core的Microsoft的基于.NET Framework SDK的Dockerfile(.NET Framework Runtime)镜像。
该图像包括:
关于.net - 在Dockerfile中使用Dotnet和MSBuild工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63934103/