.NET 4.7.1项目无法使用.NET Core 2.0库

时间:2018-03-19 11:04:07

标签: c# .net visual-studio .net-core

我搜索了很多,无法找到问题的解决方案(我见过类似的运行时问题,但没有构建)。

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

  

'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();

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

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

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

2 个答案:

答案 0 :(得分:5)

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

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

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

答案 1 :(得分:1)

目前git hub上有关于.Net Core SDK的问题,正如官方.Net框架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。