我正在為 .NET 6 撰寫一個 WinForms 控制元件。該專案的目標框架設定為 .NET 6.0。事實證明,當我在幾個月前安裝的最新 VS 2022 (17.1.1) 中編譯專案時,VS 總是在編譯的 DLL 中寫入對 WinForms 程式集 v6.0.2 的參考:

我可以解釋這一點,因為 6.0.2 是安裝在我的電腦上的 .NET 6.0 SDK 的最新版本,但為什么其他參考的程式集(如 System.Collections 或 System.Data.Common)不會發生這種情況?
我想將已編譯 DLL 中 WinForms 程式集的確切版本指定為 6.0.0,以便在安裝任何 .NET 6 運行時(6.0.1、6.0.3、6.1.0 等)的情況下啟動 DLL )。我沒有找到辦法做到這一點。我在 csproj 檔案中嘗試了 global.json 和 RuntimeFrameworkVersion 鍵(另請參閱此問題),但這沒有幫助。
有沒有辦法解決我的問題?
uj5u.com熱心網友回復:
我自己找到了解決方案。問題出在 .NET SDK 6.0.2 中:
6.0.2 SDK 更新破壞了 WinForms 應用程式
在這里找到了一個幫助我的解決方案:
使用 Windows 桌面 6.0.2 構建問題
我需要的只是將以下設定添加到 csproj 檔案中:
<ItemGroup>
<FrameworkReference
Update="Microsoft.WindowsDesktop.App.WindowsForms"
TargetingPackVersion="6.0.0" />
</ItemGroup>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/443393.html
標籤:视觉工作室 表格 .net-core 构建 .net-6.0
上一篇:將WinForms應用程式從.net3.5遷移到4.7.2后如何解決視窗繪制問題
下一篇:根據子標簽的大小更改表單的大小
