gpt4 book ai didi

.net - 从 .Net Core 应用程序调用 .Net Framework 4(或 Mono)程序集

转载 作者:行者123 更新时间:2023-12-01 21:57:07 27 4
gpt4 key购买 nike

我有一个简单的 .Net Core Console 应用程序,在同一解决方案中引用 .Net Framework 4.6.2 项目。当我构建时,出现以下错误:

error CS0012: The type 'Object' is defined in an assembly that is not referenced. You must add a reference to assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

我是否试图做一些不允许的事情?

是否有某种方法可以从 .Net Core 应用程序引用 .Net Framework 4.6(或 Mono)程序集(或 P/Invoke 它)?

使用 Visual Studio 2017、.Net Core 1.1

最佳答案

在 .NET Core 1.x 中,不允许引用 .NET Framework 4.6(或 Mono)程序集。 .NET Core 1.x 和 .NET Framework 是 2 个不同的运行时,它们的类型不会混合 - 正如构建错误消息所述。

相反,您可以做的是重新编译面向“.NET Standard”的 .NET Framework 4.6 程序集。 Read more about .NET Standard 。编译 .NET Standard 库允许该库在 .NET Framework、Mono 或 .NET Core 上运行。另一种选择是多目标 .NET Framework 4.6 程序集,因此它既针对 .NET Framework 4.6 又针对 .NET Core 1.1 进行构建。仅当 .NET Standard 不支持您的库所需的 API 时,才应执行此操作。这与 @VMAtm 的答案大致相同,但您可以在 VS 2017 中使用单个 .csproj 来完成。

好消息是,.NET Core 2.0 将支持您正在尝试做的事情,即 slated for release later this year .

关于.net - 从 .Net Core 应用程序调用 .Net Framework 4(或 Mono)程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42718943/

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