我们已在机器上安装了.NET桌面运行时6.0.1。构建是在docker容器中完成的,该容器的镜像基于“mcr.microsoft.com/dotnet/sdk:6.0-windowsservercore-ltsc2022”构建,似乎已更新为SDK 6.0.102。
现在我们的应用程序将在启动时崩溃,显示以下信息:
本地构建正常,我已经安装了SDK 6.0.101。
项目中的目标框架已定义为。
Unhandled exception. System.IO.FileLoadException: Could not load file or assembly 'PresentationFramework, Version=6.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. The located assembly's manifest definition does not match the assembly reference. (0x80131040)
本地构建正常,我已经安装了SDK 6.0.101。
项目中的目标框架已定义为。
<TargetFramework>net6.0-windows</TargetFramework>
我认为应该在任何.NET 6.0上运行,而不仅限于6.0.2,无论它是用哪个SDK构建的。
根据MS Docs文档,它甚至默认情况下应该在6.1上运行,除非定义了不同的<RollForward>
策略。
我们错过了什么吗?
编辑: 这一定是与WPF有关,因为在该容器上构建的控制台应用程序运行良好...