【问题标题】:Visual Studio update 2017 15.3.1 forces ASP.NET Core SDK 2.0, which then doesn't find "reference assemblies"Visual Studio 更新 2017 15.3.1 强制 ASP.NET Core SDK 2.0,然后找不到“参考程序集”
【发布时间】:2017-08-21 17:59:31
【问题描述】:

与这个问题有关: 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'

如果我将该 DLL 从我的 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1 目录(我正在使用面向完整框架 4.6.1 的 .NET Core 应用程序)中删除到 bin 文件夹中,然后它会移动到丢失的 mscorelib.dll,然后继续-and-on。

在将全部内容转储到 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.错误项目没有其他更改

【问题讨论】:

  • Visual Studio 不会强制执行任何操作,是您将项目更新到 ASP.NET Core 2.0 或 .NET Core 2.0。没有自动迁移或类似的东西。您可能有错误的依赖项,因为这些错误听起来就像您之前有 .NET COre 项目并将其升级到 .NET Core 2.0 并且您的依赖项具有非netcoreapp2.0/netstandard2.0 依赖项。您不能使用 .NET 4.5 使用未在 netstandard2.0/netcoreapp2.0 中定义的 API 的库。您可以参考它们,但您必须 100% 确定它们不使用任何不可用的 API
  • @Tseng - 该项目和所有引用仍然是 .net core 1.1 - 没有任何针对 2.0 的内容。错误是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. - 并且没有对项目进行任何修改(我刚刚在我的笔记本电脑上将 VS 2017 更新为 15.3.1),就会引发错误。这导致我安装 .NET Core SDK 2.0 并再次不做任何修改,发生上述情况。
  • 你做了一个 nuget/dotnet 恢复?
  • 是的,还尝试删除 bin 和 obj 文件夹,然后重新构建也没有任何乐趣......

标签: .net asp.net-core visual-studio-2017


【解决方案1】:

花了一天的时间后,根据此处链接的 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 及更高版本时,它可能仅适用于针对完整框架(在本例中为 4.6.1)的 .netcore 项目。

如果出现更好的修复,我会更新答案以反映它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-30
    • 2018-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-13
    • 1970-01-01
    相关资源
    最近更新 更多