我已使用.NET Core 2.1在VS 2017中构建了一个类库。 现在,我想在.NET Framework 4.6.2内置的标准控制台应用程序中使用该dll。
当我在控制台应用程序中引用.NET Core dll时,出现此错误:
未处理的异常:System.IO.FileLoadException:无法加载文件 或程序集'System.Runtime,版本= 4.2.1.0,区域性=中性, PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一。的 找到的程序集的清单定义与程序集不匹配 参考。 (HRESULT的异常:0x80131040)位于 Marketo_Console.Program.Main(String [] args)
该如何解决?如何在标准控制台应用程序中使用.NET Core dll?
答案 0 :(得分:2)
如何解决这个问题?
您不能。至少不是直接。
因此无法将两个分别针对Full Framework和Core的程序集组合在一起。不在Core中,也不在完整框架中。 (您也许可以找到hacks,到处都是“但对我来说这是可行的”解决方案,但是对于它们的特定用例,它们是非常脆弱的例外)。
您可以可以将.NET Core程序集的目标框架切换到.NET Framework或.NET Standard,或者可以提供多个个目标框架来构建支持.NET Core 和完整框架的Nuget软件包。
但是,如果您需要.NET Core程序集和 .NET Framework应用程序,则不能以这种方式一起使用它们。