Visual Studio:“引用的项目'{<IDENTITY>}'不存在”

6
我看到过一些关于这个Visual Studio(2010)警告的帖子,但是没有一个像我得到的那样显示项目的标识符。 (我假设这是项目标识符。)当我编译我的项目时,我会得到以下消息:
c:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.Targets(1422,5): 警告:引用的项目 '{5BED5853-86EB-BA4F-A6E2-25A211A18E33}'不存在。
此外,我似乎找不到这是指哪个项目。在我的项目属性>常规属性>框架和引用中,没有一个引用具有与警告所示相匹配的项目标识符。
所以我的问题是,我如何确定是哪个项目引用导致了这个问题,我应该如何解决它?
2个回答

15

这个问题是由于从Visual Studio 2008转换到Visual Studio 2010时出现了错误造成的。在原始解决方案中,有一个项目引用已经损坏了。这个引用指向的项目早就被删除了,但是显然在MSVC 08中没有给出任何错误/警告。当将该项目转换为MSVC 10时,这个损坏的引用也被转换了。由于引用已经损坏了,所以引用项目的路径被设置为项目标识符,这就是为什么我只看到警告消息中的项目标识符。

要解决这个问题,我必须编辑.vcxproj项目文件并手动删除损坏的引用。你无法通过Visual Studio来解决这个问题,因为转换后的项目永远不会将损坏的项目显示为引用。

在.vcxproj文件中找到它很容易,只需搜索项目标识符(在本例中为5BED5853-86EB-BA4F-A6E2-25A211A18E33),并删除引用它的整个<ProjectReference>标记即可。


我的项目是有名称的(不是GUID),但想法是一样的。我找到了它,删除了整个<ItemGroup>引用所在的部分,重新加载到VS2010中并重建后就好了。 感谢amurka! - David at HotspotOffice

-1
  1. 检查 .csproj 文件并确保其他 ProjectReferences 的路径正确。
  2. 确保在树视图中项目的“依赖项”节点下没有警告或未解决的符号。

如果仍然有问题,则您的构建似乎已过期。

  • 这是因为 ${project}/obj/project.assets.json 包含无效信息。
  • 该中间文件夹中的此文件包含无效路径。
  • 整个文件夹是自动生成的。

对于 SDK MSBuild 项目文件,您可以通过执行以下操作来还原此文件:

查看 => 其他窗口 => 包管理器控制台

> cd <root project folder>
> rmdir obj     # Confirm [A] Yes to All
> dotnet restore

现在对您的项目进行重新构建。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接