Visual Studio从某处检索项目的错误路径

时间:2011-10-06 10:54:01

标签: visual-studio caching tfs

Visual Studio(可能还有TFS)以某种方式(我想可能在源代码控制合并期间)对我解决方案中项目的路径感到困惑。

它认为它在这里(简单的示例路径):

C:\My Projects\ExampleSolution\ExampleProjectWrong\ExampleProjectCorrect.csproj

实际上,项目文件位于此处:

C:\My Projects\ExampleSolution\ExampleProjectCorrect\ExampleProjectCorrect.csproj

我不能为我的生活让它认识到正确的位置。我试过了:

  • 从正确的位置删除并重新添加项目。出现一条错误消息,说The project file at C:\My Projects\ExampleSolution\ExampleProjectWrong\ExampleProjectCorrect.csproj could not be found

  • 手动编辑.sln文件以确保对ExampleProjectCorrect.csproj的所有引用都具有正确的路径。

  • 在解决方案目录中的文件中查找正确和错误的路径,尝试追踪工作室隐藏错误路径的位置。

  • 删除VS和TFS的缓存目录

我正在撕扯我的头发,因为我无法重新创建解决方案,因为它已经接近100个项目并没有区别,并与其他几个开发人员一起工作。

任何人都可以指出我正确的方向,它存储这个错误的路径和/或如何重置它,以便该死的东西将正确加载?

15 个答案:

答案 0 :(得分:92)

  1. 转到管理工作区(通过“文件/源代码管理”菜单或“源代码管理资源管理器”中的工作区下拉列表)
  2. 为您的工作区选择编辑
  3. 您应该在工作文件夹下看到源的映射 将目录控制到旧/错误的项目目录。
  4. 选择它,然后点击删除
  5. 关闭VS并删除suo文件。
  6. 它仍然引用了错误的目录。也许重新绑定可能在这一点上起作用,但我没有尝试过。重新加载你的项目,你应该好好去。

答案 1 :(得分:31)

只需删除解决方案.suo文件即可。

答案 2 :(得分:12)

在执行从Visual Source Safe 2005到TFS 2012的迁移后,我遇到了这个问题。我迫不及待地想要在接下来的几周内推出“转换向导”,所以我只是运行了VSSConvert.exe。这花费了大约6年的历史并将其移至TFS ..虽然我没有得到实际的时间线历史。我在同一天收到了一堆条目,其中的评论表明了历史的实际检查。不错。

所以在它整夜运行之后(成功,耶!),正如这个问题所述,我在加载项目时遇到了问题。出于某种原因,一些项目被引用到一个不正确的目录。我检查了.sln,.vsproj文件,并获取最新,删除重新获取,添加删除等等。我尝试了这里所说的一切......甚至升级我的工作区,我不知道甚至做了什么。

最后......我删除了 * .soo 文件和中提琴。有效。

我在这个上花了几个小时。

答案 3 :(得分:5)

略有不同的解决方案。

TFS正在显示特定解决方案的不存在路径。以前,我有一台带有独立D:驱动器的笔记本电脑,但现在,我只有一个C:驱动器。 TFS仍然认为我的项目存储在D:\ Project \ MikesProject

我没有要删除的.suo文件,在我的工作区中的任何地方都提到了D:path <(<{1>} <埋藏在{{1}下面TFS显示我确实在我的(不再存在的)D:目录中有最新文件,VS2013中的TFS没有&#34;删除映射&#34;该项目的选项。

做了什么的工作就是简单地做一个&#34;获取最新版本&#34;关于这个项目。

这样做之后,代码的新副本被写入我的C:驱动器,并且(有趣的是),现在本地路径显示为带下划线

以前,D:路径并没有像这样显示。

奇。很奇怪。

答案 4 :(得分:2)

我们在移动和重命名方面遇到了类似的问题。 删除本地目录,然后再次解决它。

答案 5 :(得分:2)

即使删除了.suo文件和.vs文件夹,我也必须编辑.sln文件并删除SccProjectName#中的旧相对网址,尽管SccLocalPath#是正确的。显然VS也使用名称作为提示路径。

答案 6 :(得分:1)

尝试删除或重命名.suo文件(包括扩展名)。此文件位于解决方案文件所在的位置。它对我有用。

答案 7 :(得分:0)

猜猜,但也许你的其他一些项目从错误的位置引用你的项目?在这种情况下,您不仅要删除项目并将其重新插入到解决方案中,还必须删除并重新创建引用项目的引用(存储在其.csproj文件中)。

答案 8 :(得分:0)

尝试了很多推荐后,我再次删除了suo文件。最后一次工作。为什么它不能提前工作我不知道。一般来说,我发现删除suo文件是我做的第一步。

答案 9 :(得分:0)

我从我的Dev Branch打开了我的asp.net网站解决方案。 然后出于其他目的,我从Main分支机构打开了相同的解决方案。

我对dev分支中的一个.ascx.cs文件进行了更改并设置了断点。当我运行调试器时,我的所有断点都在Dev Branch中被击中,除了正在击中Main分支的.ascx.cs。不知道。

尝试清理Temporary文件夹,但没有工作。

什么有效:

关闭所有Visual Studio实例

再次从Dev分支打开解决方案。

再次跑步,断点开始击中。

答案 10 :(得分:0)

在我的情况下,我将* .sln文件复制到项目文件夹中,并将项目路径更改为* .sln文件。只有这样才能解决问题(vs 2015 sp1,winservise项目)。

删除* .suo对我没有帮助。

答案 11 :(得分:0)

如果您在本地IIS而不是IISExpress下运行Web应用程序,请确保通过进入项目属性来“创建虚拟目录”按钮。完成后,执行“清洁解决方案”和“重建解决方案”。

答案 12 :(得分:0)

另一种解决方案为我们工作-在尝试删除suo和该线程中提到的几乎所有内容之后。解决方案中有一个项目正在显示csproj文件的幻影版本。我们删除了该文件,并将路径固定在我们尝试添加的另一个项目上。

答案 13 :(得分:-1)

删除obj和bin文件即可解决问题...

答案 14 :(得分:-2)

我知道这是一条古老的路线。我刚刚经历了同样的问题。我们最近迁移了TFS,因此我创建了一个新工作区来映射到新服务器并保留旧服务器。每当我打开一个应该定位到我的新工作区的解决方案时,VS总是试图从我的旧映射目录中加载项目,直到我删除了我的旧工作区。