Class 库项目构建错误,引用损坏

Class library project build error, broken references

Visual Studio 中的 class 库项目在我尝试构建它时抛出错误。错误说:

"Your project is not referencing the ".NETFramework,Version=v4.5.2" framework. Add a reference to ".NETFramework,Version=v4.5.2" in the "frameworks" section of your project.json, and then re-run NuGet restore."

该项目受源代码控制,可以在安装了相同 Visual Studio 版本的其他机器上完美构建。项目的目标网络是项目文件中指定的 4.5.2。

project.json 文件如下所示:

{
  "version": "1.0.0-*",
  "description": "Test Class Library",
  "authors": [ "author" ],
  "tags": [ "" ],
  "projectUrl": "",
  "licenseUrl": "",

  "dependencies": {
    "System.Collections": "4.0.10-beta-23019",
    "System.Linq": "4.0.0-beta-23019",
    "System.Threading": "4.0.10-beta-23019",
    "System.Runtime": "4.0.10-beta-23019",
    "Microsoft.CSharp": "4.0.0-beta-23019"
  },

  "frameworks": {
    "dotnet": { }
  }
}

我在构建项目时注意到,在项目文件夹中生成了文件 project.lock.json,并且其中的 .NETPlatform 版本设置为 ".NETPlatform,Version=v5.0"。不确定这是否是导致此问题的原因。如果是,为什么 project.lock.json 将版本设置为 5.0?

任何人都可以提出解决此问题的方法吗?到目前为止,我无法在我的机器上构建这个项目。

我不再为这个项目使用 NuGet 解决了这个问题。

  1. 已从项目中删除所有 NuGet 包。
    • 右键单击 Visual Studio
    • 中的项目
    • 管理 NuGet 包...
    • 一个一个卸载软件包,直到有 none
  2. 删除了项目根目录下的project.json文件
  3. 重新启动了 Visual Studio。此步骤可能不是必需的,但有时当您删除 project.json 文件时,您会在构建项目时遇到与 NuGet 相关的错误。如果发生这种情况,请重新启动 Visual Studio.

用 VS2017 遇到这个问题,发生的事情是我们将一个 dotnet 核心项目转换回使用 .Net 框架。旧 project.assets.json 留在 obj 文件夹中。它导致了这个错误。删除文件或 obj 文件夹后,它构建正常。