Visual Studio从某处检索不正确的项目path

Visual Studio(也可能是TFS)以某种方式(我想也许在源代码pipe理合并时)对我的解决scheme中的项目path感到困惑。

它认为它在这里(简单的例子path):

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所有引用都具有正确的path。

  • 在解决scheme目录的文件中查找正确和不正确的path,尝试并追踪工作室隐藏不正确path的位置。

  • 删除VS和TFS的caching目录

我把我的头发撕了,因为我不能重新创build解决scheme,因为它已经接近100个项目,并与其他几个开发人员的源代码控制绑定在一起。

任何人都可以在正确的方向指向我存储这个不正确的path和/或如何重置它,所以该死的东西会正确加载?

  1. 转到pipe理工作区 (通过文件/源代码pipe理菜单或源代码pipe理资源pipe理器中的工作区下拉菜单)
  2. select编辑您的工作区。
  3. 您应该在工作文件夹下看到源控制目录到旧/错项目目录的映射。
  4. select它并点击删除
  5. closuresVS并删除suo文件。

它仍然引用了错误的目录。 也许重新绑定可能在这一点上工作,但我没有尝试。 重新加载你的项目,你应该很好去。

只需删除解决scheme.suo文件为我工作。

在执行从Visual Source Safe 2005到TFS 2012的迁移之后,我遇到了这个问题。我不能等待接下来的几个星期内发布的“转换向导”,所以我刚刚运行了VSSConvert.exe。 这花了6年左右的历史,并将其转移到TFS ..虽然我没有得到实际的时间表历史..我在同一天得到了一堆条目的意见,表明实际检查历史..不错..

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

最后…我删除了* .suo文件和中提琴..它工作..

花了几个小时在这个..

稍有不同的解决scheme。

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

我没有一个.suo文件来删除,D:path没有提到我的工作区中的任何地方(埋藏在File\Source Control\Advanced\Workspaces菜单下),TFS显示我确实有最新的文件我的(不存在的)D:目录,VS2013中的TFS没有这个项目的“删除映射”选项。

但是,工作是简单地做一个“获取最新版本”的项目。

这样做后,一个新的代码副本写入我的C:驱动器,(有趣的是),现在本地path显示下划线

以前,D:path没有这样显示。

奇。 很奇怪。

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

即使在删除.suo文件和.vs文件夹之后,我也必须编辑.sln文件,并从SccProjectName#删除旧的相对URL,尽pipeSccLocalPath#是正确的。 显然VS也使用这个名字作为提示path。

尝试删除或重命名.suo文件(包括扩展名)。 此文件位于解决scheme文件所在的位置。 它为我工作。

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

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

我有我的开发部门打开我的asp.net网站解决scheme。 然后为了其他目的,我从主分公司打开了相同的解决scheme。

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

试图清理临时文件夹,但没有工作。

什么工作:

closuresVisual Studio的所有实例

再次从Dev分支打开解决scheme。

再次运行,中断点开始打。

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

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

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