.NET 4.7.1项目不能使用.NET Core 2.0库

Ben*_*son 6 .net c# visual-studio .net-core

我搜索了很多,找不到我的问题的解决方案(我已经看到类似的运行时问题,但没有构建).

我有一个.NET 4.7.1项目(类lib),它引用了.NET Core项目/库.当我尝试构建时,我得到以下构建错误:

'System.Runtime,Version = 4.2.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a',其版本高于引用的程序集'System.Runtime',其标识为'System.Runtime,Version = 4.1.2.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"

代码很简单,只是在.NET Core lib中调用异步方法.有一点像:

return _dotNetCoreClass.MethodAsync();
Run Code Online (Sandbox Code Playgroud)

我已经尝试升级项目,因此它使用ProjectReferences而不是packages.config.我已经安装了System.Runtime包(版本4.3.0).我已更新我的项目文件以包含以下内容:

<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>

我还安装了最新的NETStandard.Librabry包但我无法摆脱构建错误.

Ben*_*son 6

我认为发布我找到的解决方案很重要,并强调我的理解出错了(感谢@ jeroen-mostert和@ hans-passant指导我正确的方向).

并非所有.NET Core 2.0框架都受.NET 4.7.1支持,因此我们使用的一些代码不受支持,因此在引用.NET Core库的应用程序中引发了构建错误.

更改.NET Core库以使用.NET Standard 2.0(这很好,因为我们的其他.NET Core应用程序也将使用该库由.NET Standard支持),然后使用它删除并重新添加应用程序中的引用解决了我们的问题,现在应用程序构建.


Bar*_*r J 1

目前在 git hub 上跟踪了一个有关 .Net Core SDK 的问题,如官方 .Net Framework 4.7.1 讨论中所述:

事实证明.NET Core SDK存在问题,正在GitHub上跟踪该问题,https://github.com/dotnet/sdk/issues/1738。意外的是,此问题不会在 Visual Studio 15.5 版本中重现。如果有人想在解决 SDK 问题之前查看是否有任何解决方法,请随时在 https://github.com/aspnet/Mvc/issues上提交问题。

目前,无法修复您的解决方案,因为 4.7.1 无法支持 .Net Core。