与此问题相关: Visual Studio 15.3.1 can't find core DLLs after update
我必须执行相同的过程,损坏的VS设置意味着我运行安装程序并将VS 2017更新为15.3.1。从那时起,我的主项目将在没有安装.NET Core SDK 2.0的情况下运行,就像上面引用的问题一样。
我已经安装了SDK 2.0,它解决了错误,项目构建并运行但后来立即抛出InvalidOperationException: Can not find assembly file Microsoft.CSharp.dll at 'build paths'
如果我从我的C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1
目录(我使用面向完整框架4.6.1的.NET Core应用程序)中删除该DLL到bin文件夹中,那么它将移至mscorelib.dll
那个缺失,然后继续。
在将整批产品转储到bin输出文件夹之前,我假设由于某种原因新设置无法找到新的SDK文件和/或参考装配文件夹?
有解决方法吗?这也将反映在生产环境中。
GitHub上存在同样的问题:https://github.com/aspnet/Home/issues/2129链接到https://github.com/dotnet/sdk/issues/1488
问题是相同的,没有任何升级 - 只有VS更新到15.3.1,然后抛出了The version of Microsoft.NET.Sdk used by this project is insufficient to support references to libraries targeting .NET Standard 1.5 or higher. Please install version 2.0 or higher of the .NET Core SDK.
错误,没有对项目进行其他更改
答案 0 :(得分:4)
根据此处的链接GitHub问题花了一天时间:https://github.com/dotnet/sdk/issues/1488当前解决方案是将以下内容添加到主.csproj
节点中的<PropertyGroup>
文件中:
<DependsOnNETStandard>netstandard1.5</DependsOnNETStandard>
有关于此处目标的更多信息: https://docs.microsoft.com/en-us/dotnet/standard/net-standard
当您更新到VS 2017 15.3及更高版本时,它可能只适用于.netcore项目,目标是完整框架(在本例中为4.6.1)。
如果有更好的解决方法,我会更新答案以反映它。