我如何判断 .net 框架 winforms 代码是否可从 .net core6 调用?

How can I tell if .net framework winforms code is callable from .net core6?

我尝试了一个简单的概念证明,为每个项目创建一个解决方案并显示 Framework 4.7.2 MessageBox.Show(“Hello world”)。这工作正常,显示 winform 也是如此。

但是我 运行 遇到引用 dll 的问题。 如果我在我的 .net core6 项目中引用一个 .net 框架 dll,我会看到一个黄色的小三角形与包引用和一条消息

Package 'MyDLL 2.0.0-CI-20220210-212727' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' instead of the project target framework 'net6.0-windows7.0'. This package may not be fully compatible with your project.

我想我可以将我的框架 winforms 代码放在 .exe 中并通过命令行调用它 shell。但我希望有更好的方法,同时还没有完成完整的 .net 核心端口。

我需要中间步骤,因为我有 vb6 通过 com interop 使用的通用代码。

有没有比试一试更好的策略?

我问过this相关问题。

提示是VS2022中nuget包中出现的黄色三角。

正如 Jeroen 所说,我不应该在没有将框架库移植到核心的情况下使用它。