簡體   English   中英

將 WPF 庫從 .NET 框架遷移到 .NET 6

[英]Migrating WPF library from .NET Framework to .NET 6

I'm currently migrating my WPF projects from .NET Framework 4.8 to .NET 6 using the .NET Upgrade Assistant as a base and then manually fixing the remaining problems.
我所有的項目都有一組共享的庫,其中一個包含標准類和一些自定義UserControl 將此特定庫遷移到 .NET 6 時,此庫引用的框架是Microsoft.NETCore.AppMicrosoft.WindowsDesktop.App 問題是當我嘗試在另一個項目中使用這個庫時,我收到以下警告:

警告 MSB3277 發現不同版本的“WindowsBase”之間存在無法解決的沖突。
“WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”和“WindowsBase, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”之間存在沖突。
選擇“WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”是因為它是主要的,而“WindowsBase, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”不是。

查看庫引用的兩個框架所引用的 WindowsBase,我看到Microsoft.NETCore.App引用了 WindowsBase v4.0.0.0,而Microsoft.WindowsDesktop.App引用了 WindowsBase v6.0.0.0。
我該如何解決這個問題?

在將 csharp 項目從.Net 框架升級到.Net6 時,我遇到了和您一樣的問題。

程序集下有一些依賴項(例如system system.xml )指向錯誤的框架路徑,但無法刪除或修改。 在 csdn 上沒有太多關於這個問題的信息,所以我確實花了一段時間才通過反復試驗找到根本原因,最后是我的 csproj 項目文件中導入的WinFX.Targets文件帶來了這些 .net 框架依賴項。

WinFX.Targets文件在升級前由 csproj 導入,升級刪除了導入。 這是項目所必需的,所以我沒有修改就將其添加回來,這導致了 MSB3277 構建警告。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM