我們已經在我們的機器上安裝了 .NET 桌面運行時 6.0.1。構建發生在一個 docker 容器中mcr.microsoft.com/dotnet/sdk:6.0-windowsservercore-ltsc2022,其中構建了一個鏡像,顯然已更新到 SDK 6.0.102。現在我們的應用程式將在啟動時崩潰說
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 的東西,因為基于該容器構建的控制臺應用程式作業得很好......
uj5u.com熱心網友回復:
這似乎是 .net 6.0.2 中的一個已知錯誤
見: https ://github.com/dotnet/core/issues/7172#issuecomment-1034105137
對于解決方法,您可以嘗試以下操作: https ://github.com/dotnet/winforms/issues/6663#issuecomment-1034371295
或者只使用 sdk:6.0.101-windowsservercore-ltsc2022 映像,直到發布固定版本
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/426006.html
上一篇:Catel.IoC.TypeNotRegisteredException:即使CanResolve回傳true,Catel也會拋出例外
