【问题标题】:Visual Studio 15.3.1 can't find core DLLs after updateVisual Studio 15.3.1 更新后找不到核心 DLL
【发布时间】:2017-08-21 11:17:09
【问题描述】:

我收到运行时错误:

InvalidOperationException: Can not find assembly file mscorlib.dll at '...\bin\Debug\net462\refs,...\bin\Debug\net462\'

直到我今天早上更新到 15.3.1 版本并安装了 .Net Core 2.0 SDK 之前,这一直不是问题。

DLL 存在于我的~\.nuget\packages folder 中。在将“Microsoft.Csharp.dll”程序集复制并粘贴到指定文件夹之前,我遇到了同样的问题。


我尝试通过 global.json 文件指定使用 .Net Core 1.1.0,但随后出现构建错误:

此项目使用的 Microsoft.NET.Sdk 版本不足以支持对面向 .NET Standard 1.5 或更高版本的库的引用。请安装 .NET Core SDK 2.0 或更高版本。

如果我清理解决方案然后恢复 Nuget 包通过命令行 - 而不是通过 GUI,此错误就会消失。但是,如果我更改 nuget 包的版本,它会回来。

【问题讨论】:

  • 刚刚完成更新。尽可能以最佳时机阅读本文。
  • 好的,我似乎已经解决了这个问题,方法是对所有 bin 和 obj 目录进行核对,恢复 NuGet 包并重建。这不是一个真正的答案...
  • 另外,我很抱歉提出显而易见的建议,但您是否尝试再次删除和添加程序集?此外,在引发错误的文件中写入“使用”语句以更新智能感知,然后在不需要时将其删除。
  • @Tiramonium 是的,删除 obj 和 bin 文件夹并进行 nuget 还原至少可以使其运行。但是,一旦我更改了 nuget 包的版本,它就会再次中断。 (令人讨厌的是,我今天打算测试一个新版本的内部 nuget 包......)
  • 但据我所知,当您更改参考或包版本时,确实建议进行完全重新编译。您无需进入项目文件夹并手动删除文件,“清洁解决方案”会为您完成。

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


【解决方案1】:

好的,这似乎与我的问题略有不同:Visual Studio update 2017 15.3.1 forces ASP.NET Core SDK 2.0, which then doesn't find "reference assemblies"

如果您从 https://www.microsoft.com/net/download/core 安装 SDK 2.0

然后您将“可能”能够再次构建和运行该项目,但您将回到缺少 Microsoft.CSharp.dll / mscorelib.dll 错误。

如果您确保依赖项对于 netstandard 版本是正确的:

<DependsOnNETStandard>netstandard1.5</DependsOnNETStandard>

请参阅此处:https://docs.microsoft.com/en-us/dotnet/standard/net-standard 以获取适合您的版本。我的项目正在使用针对完整框架 4.6.1 的核心 1.1,并且针对 netstandard1.6 对我有用。

拼图的最后一块,在 GitHub 问题上找到:https://github.com/dotnet/sdk/issues/1488

将以下内容添加到 .csproj 文件中的引用中:

<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="2.0.0" />

然后,这会将项目构建为 1.1 项目,但使用 2.0 SDK(据我所知,它应该这样做!)。我现在可以运行项目、更新包并继续我的工作了!

【讨论】:

  • 谢谢,我已经尝试添加 2.0 依赖模型,今天早上会尝试一下,希望问题得到解决...
  • 这似乎没有做到,仍然依赖于解决方法:(
  • 是在安装SDK 2.0之后吗?至于我,它构建了但在丢失的Microsoft.CSharp.dll 周围抛出了错误。是不是同样的错误?
猜你喜欢
  • 1970-01-01
  • 2021-08-28
  • 2018-07-02
  • 2020-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多