我有一个简单的.Net Core Console应用程序,在同一解决方案中引用了.Net Framework 4.6.2项目。构建时,出现以下错误:
错误CS0012:在未引用的程序集中定义了“对象”类型。您必须添加对程序集'mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的引用。
我是否在尝试做不允许做的事情?
有什么方法可以从.Net Core应用程序中引用.Net Framework 4.6(或Mono)程序集(或P /调用它)?
使用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程序集。阅读有关.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将支持您尝试做的事情,该产品将于今年晚些时候发布。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句