繁体   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