gpt4 book ai didi

c# - 将 .Net Framework 应用程序与 .Net Core 库混合使用

转载 作者:行者123 更新时间:2023-12-04 13:15:57 26 4
gpt4 key购买 nike

在 Visual Studio 解决方案中,我需要有一个取决于 .Net Core 库项目的桌面 winforms 应用程序项目(.Net framework 4.0)。
我还不能将应用程序迁移到 .Net 核心,但我需要来自 .Net 核心(即 Microsoft.EntityFrameworkCore)的功能。这就是我创建一个新项目作为依赖项的原因。

它似乎在构建时导致问题:

对类型“Object”的引用声称它在“System.Runtime”中定义,但找不到

同日期时间,枚举,十进制,...

好像两个项目中的对象都不一样。
我尝试使用 Microsoft.Windows.Compatibility 但它似乎不是解决方案。

有没有办法让两个项目一起构建和运行?

编辑 1

我尝试使用 .Net 标准项目而不是 .Net 核心,但在这种情况下,我什至无法添加从 .Net 框架应用程序到 .Net 标准库的引用。

项目“Std.csproj”以“netstandard2.0”为目标,它不能被以“.NetFramework,Version=v4.0”为目标的项目引用

编辑 2

我在 .Net core 2.0 中的依赖项和我在 .Net Framework 4.6 中的应用程序仍然遇到相同的错误:

项目“Std.csproj”以“netstandard2.0”为目标,它不能被以“.NetFramework,Version=v4.6”为目标的项目引用

编辑 3

我终于摆脱了 .Net Framework 4.6.1 的错误。但是,根据 required configuration对于这个框架,这意味着我不能再部署到 Windows XP。学习...

由于我的目标是逐渐迁移到 .Net Core,欢迎提出任何建议。

最佳答案

I need to have a [...] .Net framework 4.0 depending on a .Net Core library project.

Is there a way to have both projects build and run together?



对不起。这不是它的工作方式。您不能直接从 .NET Core 引用 .NET Framework 程序集,也不能从 .NET Framework 直接引用 .NET Core 程序集。
(我有轻微的似曾相识,我会尝试在此找到重复的)。
您可以做的是在 .NET Standard 中创建一个两者都可以引用的共享程序集,但在这种情况下它实际上不会帮助您,因为您需要更高的 .NET Framework 版本才能使用 .NET Standard 2.0。
有效的是在您的程序集之间创建连接,而不是通过引用进行直接程序集绑定(bind)。一个可以通过基于 HTTP 的 REST 或通过内存映射文件或以任何其他方式调用另一个,您可以使用其他方式让两种不兼容的技术进行通信。

关于c# - 将 .Net Framework 应用程序与 .Net Core 库混合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60390796/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com