在 docker 中安装 .net Framework 4.7.2
install .net framework 4.7.2 in docker
我是 .Net 环境的新手,我正在尝试在这里为我的公司实施 docker。他们之前使用的是 4.5,所以我在 docker 文件中使用了以下语句:
RUN Install-WindowsFeature NET-Framework-45-ASPNET ; \
Install-WindowsFeature Web-Asp-Net45
现在,我想对框架 4.7.2 做同样的事情 - 我认为如果我 运行 这样的语句就可以了:
RUN Install-WindowsFeature NET-Framework-472-ASPNET ; \
Install-WindowsFeature Web-Asp-Net472
但它不是这样工作的,而是显示以下错误:
Install-WindowsFeature : ArgumentNotValid: The role, role service, or feature
name is not valid: 'NET-Framework-472-ASPNET'. The name was not found.
At line:1 char:1
+ Install-WindowsFeature NET-Framework-472-ASPNET ; Install-WindowsFeat ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (NET-Framework-472-ASPNET:Strin
g) [Install-WindowsFeature], Exception
+ FullyQualifiedErrorId : NameDoesNotExist,Microsoft.Windows.ServerManager
.Commands.AddWindowsFeatureCommand
请帮我做同样的事情。我真的卡住了,在互联网上找不到任何东西。
您可以使用
代替自己安装 NET-Framework
FROM microsoft/aspnet
或
FROM microsoft/dotnet-framework:4.7.2
使用已安装 dotnet 框架的图像。
或您需要的任何版本。
见https://hub.docker.com/u/microsoft/
对于 docker hub
上的所有图片
所以我在网上搜索了一些东西,我发现有一个解决方案,如果我提到在我的 docker 文件中的 powershell 上安装 chocolatey。这个参考,我从 anothony chu 的 this post 那里收到:
所以我用了:
# Install Chocolatey
RUN @powershell -NoProfile -ExecutionPolicy Bypass -Command "$env:ChocolateyUseWindowsCompression='false'; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
RUN powershell add-windowsfeature web-asp-net45 \
&& choco install dotnet4.7 --allow-empty-checksums -y \
在我的 docker 文件中,现在一切正常。
我是 .Net 环境的新手,我正在尝试在这里为我的公司实施 docker。他们之前使用的是 4.5,所以我在 docker 文件中使用了以下语句:
RUN Install-WindowsFeature NET-Framework-45-ASPNET ; \
Install-WindowsFeature Web-Asp-Net45
现在,我想对框架 4.7.2 做同样的事情 - 我认为如果我 运行 这样的语句就可以了:
RUN Install-WindowsFeature NET-Framework-472-ASPNET ; \
Install-WindowsFeature Web-Asp-Net472
但它不是这样工作的,而是显示以下错误:
Install-WindowsFeature : ArgumentNotValid: The role, role service, or feature
name is not valid: 'NET-Framework-472-ASPNET'. The name was not found.
At line:1 char:1
+ Install-WindowsFeature NET-Framework-472-ASPNET ; Install-WindowsFeat ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (NET-Framework-472-ASPNET:Strin
g) [Install-WindowsFeature], Exception
+ FullyQualifiedErrorId : NameDoesNotExist,Microsoft.Windows.ServerManager
.Commands.AddWindowsFeatureCommand
请帮我做同样的事情。我真的卡住了,在互联网上找不到任何东西。
您可以使用
代替自己安装 NET-FrameworkFROM microsoft/aspnet
或
FROM microsoft/dotnet-framework:4.7.2
使用已安装 dotnet 框架的图像。
或您需要的任何版本。
见https://hub.docker.com/u/microsoft/ 对于 docker hub
上的所有图片所以我在网上搜索了一些东西,我发现有一个解决方案,如果我提到在我的 docker 文件中的 powershell 上安装 chocolatey。这个参考,我从 anothony chu 的 this post 那里收到:
所以我用了:
# Install Chocolatey
RUN @powershell -NoProfile -ExecutionPolicy Bypass -Command "$env:ChocolateyUseWindowsCompression='false'; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
RUN powershell add-windowsfeature web-asp-net45 \
&& choco install dotnet4.7 --allow-empty-checksums -y \
在我的 docker 文件中,现在一切正常。