【问题标题】:Visual Studio 2019 not adding referenced projects to deps.jsonVisual Studio 2019 未将引用的项目添加到 deps.json
【发布时间】:2020-06-21 20:19:12
【问题描述】:

我有一个在 Visual Studio 2019 (16.4.5) 中构建的现有 WPF 应用程序,其大部分后端通用代码位于 .NET Standard 类库中。我正在尝试启动一个基于 Avalonia MVVM 的新前端,它将是跨平台的。我已成功创建并运行“Hello World”Avalonia 应用程序。但是,每当我添加对类库的任何引用时(即使我创建了一个新的 NET 标准类库,它只不过是 VS 创建的存根模板),我会收到运行时错误:

System.IO.FileNotFoundException: 'Could not load file or assembly 'xxx, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.'

最终,我意识到 Visual Studio 没有将适当的条目添加到 deps.json。我添加到我的应用程序的任何项目引用,这些引用都不会出现在 deps.json 中。如果我构建,我可以手动添加它们 - 即

  },
  "ClassLibrary1/1.0.0": {
    "runtime": {
      "ClassLibrary1.dll": {}
    }

...然后它启动就好了。但是如果我重建,VS当然会重新生成deps.json,而那些项目引用又会丢失。

为什么 VS 不能正确地将引用的项目添加到它生成的 deps.json 中?

【问题讨论】:

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


    【解决方案1】:

    解决方案是清除 nuget 的缓存(出于某种原因)...

    1. 工具 -> NuGet 包管理器 -> 包管理器控制台,键入 dotnet nuget locals all --clear
    2. 清洁解决方案
    3. 从所有项目中删除 obj 文件夹
    4. 重建

    ...然后 VS 开始生成正确的、正常工作的 deps.json。

    【讨论】:

    • 这花了我几个小时才弄清楚发生了什么。我想强调必须删除 OBJ 文件夹并运行 dotnet restore - 在清除缓存之后。谢谢@Metal450
    • 我遇到了同样的问题,只用dotnet restore 修复了它,然后全部重建。无需删除任何文件夹。
    猜你喜欢
    • 2021-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多