我有以下 dockerfile,該專案在通過 Visual Studio 運行時運行良好:
FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build-env
WORKDIR /app
# Copy everything
COPY . ./
RUN dotnet build Inventory.sln -c Release -o /out
問題是當我構建它時。構建階段給了我這個錯誤:
C:\Program Files\dotnet\sdk\5.0.407\Microsoft.Common.CurrentVersion.targets(1217,5):
error MSB3644: The reference assemblies for .NETFramework,Version=v4.5.2 were not found.
To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework
version or retarget your application.
You can download .NET Framework Developer Packs at
https://aka.ms/msbuild/developerpacks [C:\app\InventoryInterface\InventoryInterface1.csproj]
0 Warning(s)
1 Error(s)
Time Elapsed 00:00:01.15
The command 'cmd /S /C dotnet build Inventory.sln -c Release -o /out' returned a non-zero code: 1
我是 Windows 容器的新手,我想知道如何解決這個問題。我已經嘗試過 curl 框架,但是當我執行它時,什么也沒有發生。
提前致謝。
uj5u.com熱心網友回復:
您的應用面向 .NET Framework 4.5.2(僅適用于 Windows 的 .NET 版本),并且您的 SDK 容器是 .NET 5.0,即 .NET 的多平臺版本。
您需要將應用程式遷移到 .NET 5.0(或 6.0)或mcr.microsoft.com/dotnet/framework/sdk改用構建。我找不到 .NET Framework SDK 的 4.5.2 版作為容器。此處列出的最舊的版本是 4.6.2,因此您必須(至少)移至該版本。
我建議遷移到 .NET 5/6,因為 .NET Framework 不再被積極開發。遷移還允許您在 Windows 和 Linux 上運行。如果您繼續使用 .NET Framework,則必須繼續使用 Windows。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/473746.html
標籤:。网 视窗 码头工人 dockerfile
