45

我有一个包含许多项目的大型解决方案。一些项目依赖于其他项目(尽管从来没有循环依赖)。

当我尝试删除项目的依赖项时,我收到一条错误消息,例如“依赖项已由项目系统添加,无法删除”。这个错误的原因是什么?我该如何解决这个问题?

4

9 回答 9

47

当我尝试手动编辑我们的 CMake 系统生成的项目/解决方案时,有时会遇到这个问题。我手动解决:

  • 在您喜欢的文本编辑器中打开相关的 .vcproj 文件。
  • 找到你要移除的依赖对应的<ProjectReference>标签(标签的include属性会包含依赖项目的名称)。
  • 移除整个 <ProjectReference> 元素(即以 <ProjectReference> 开始并以 </ProjectReference> 结束)。保存文件。
  • 重新加载解决方案。
于 2012-11-21T13:33:57.577 回答
38

我遇到了同样的问题。但我可以通过以下方式解决

  • 右键单击项目,选择Properties
  • 在Common Properties下选择Framework 和 References
  • 选择不需要的参考。
  • 单击删除参考
于 2013-01-28T21:56:39.607 回答
12

或 =>
在 Visual C# 中删除引用:

  1. 在解决方案资源管理器中,打开项目节点下的引用节点。
  2. 右键单击引用,然后单击删除

在 Visual Basic 中删除引用:

  1. 在解决方案资源管理器中,右键单击项目的“我的项目”节点并选择“属性”。
  2. 单击参考选项卡。
  3. 在引用列表中,选择要删除的引用。
  4. 单击删除按钮
于 2013-09-27T18:11:34.303 回答
3

对于 Visual Studio 2013:在 C++ 项目上(希望其他人也一样)

  1. 解决方案资源管理器中,选择项目并右键单击以选择属性
  2. 在属性窗口的左窗格中,选择 Common properties => References
  3. 在窗口的右侧,您可以选择添加或删除其他依赖项。
  4. 然后选择确定,保存
于 2014-11-20T18:26:37.037 回答
1

如果您的项目只有 .sln 文件但没有任何 .csproj,您可能需要

  1. 检查 ProjectReferences 属性并删除那里的参考项目
  2. 将部分从 Project 删除到 EndProject
  3. 还删除 GlobalSection(ProjectConfigurationPlatforms) 下的相关行
于 2018-10-26T21:02:49.210 回答
0

作为上述@malenkiy_scot 的补充说明,对于您要保留的 ProjectReference 项目,请仔细检查项目 guid 是否适合该项目。在依赖的 .vcproj 文件中,找到上面的 ProjectReference 标记,并为每个要保留的标记:

  • 在文本编辑器中打开引用项目的 .vcproj 文件
  • 在 ProjectGuid 标签中找到它的 guid
  • 将此与依赖 .vcproj 文件中该引用的项目标记进行比较(不区分大小写)
  • 如果不相同,请将 Project 标记中的 guid 替换为引用项目的 ProjectGuid 标记中的 guid
  • 保存项目文件并重新加载解决方案

Visual Studio 使用项目 guid 而不是名称来确定依赖关系。因此,如果您手动编辑了依赖项的名称而不是 guid(就像我所做的那样),您会收到错误消息。

于 2018-03-05T17:00:14.730 回答
0

在 VS17 中,右键单击 References 节点,然后选择 OptimiseReferences... 有助于解决您的依赖关系。另外右键单击项目并单击 BuildDependancies... ProjectDependencies 这可能是您设置依赖项的位置。

于 2018-07-04T17:21:38.660 回答
0

1-右键单击项目的引用,然后单击添加引用...

2-从解决方案选项卡中取消选中依赖项目

于 2018-08-16T08:41:01.167 回答
0
  • 在解决方案资源管理器窗口中,右键单击项目并选择“编辑项目文件”。project.csproj 文件将在编辑器中打开。
  • 找到嵌套标签的那个。
  • 删除整个(连同结束标记)。
于 2021-09-20T11:39:44.810 回答