找不到 .Net 容器 .NETFramework 版本
.Net Container .NETFramework version not found
我有以下 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.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 框架,但是当我执行它时,没有任何反应。
提前致谢。
您的应用面向 .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。列出的最旧 here 是 4.6.2,因此您必须(至少)移动到那个。
我建议迁移到 .NET 5/6,因为 .NET Framework 不再被积极开发。迁移还可以让您在 Windows 和 Linux 上 运行。如果您继续使用 .NET Framework,则必须继续使用 Windows.
我有以下 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.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 框架,但是当我执行它时,没有任何反应。
提前致谢。
您的应用面向 .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。列出的最旧 here 是 4.6.2,因此您必须(至少)移动到那个。
我建议迁移到 .NET 5/6,因为 .NET Framework 不再被积极开发。迁移还可以让您在 Windows 和 Linux 上 运行。如果您继续使用 .NET Framework,则必须继续使用 Windows.