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

Cha*_*itt 96 tfs caching visual-studio

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

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

C:\My Projects\ExampleSolution\ExampleProjectWrong\ExampleProjectCorrect.csproj
Run Code Online (Sandbox Code Playgroud)

实际上,项目文件位于:

C:\My Projects\ExampleSolution\ExampleProjectCorrect\ExampleProjectCorrect.csproj
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

  • 删除VS和TFS的缓存目录

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

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

小智 93

  1. 转到管理工作区(通过"文件/源代码管理"菜单或"源代码管理资源管理器"中的工作区下拉列表)
  2. 选择编辑您的工作区.
  3. 您应该在工作文件夹下看到源控制目录到旧/错项目目录的映射.
  4. 选择它并单击" 删除".
  5. 关闭VS并删除suo文件.

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

  • 删除suo文件对我来说很有用! (51认同)
  • 在Visual Studio 2015中,我遇到了同样的错误.对我有用的是删除隐藏的.vs目录和.suo文件. (8认同)
  • 对于VS2015,你的`.suo`文件可能不在你想象的地方.删除与`.sln`文件一起存在的文件(不要忘记"显示隐藏文件"),还有一个隐藏在`.\.vs\[solution_name]\v14\.suo`的子目录中.一旦我得到了他们两个,我可以再次添加项目.哎呀 - @DanielLeiszen的部分功劳(刚注意到他评论了同样的事情) (5认同)

Llo*_*ell 32

简单地删除解决方案.suo文件对我有用.

  • 在VS2015中,我需要关闭所有Visual Studio实例,然后删除`<SolutionDir> \.vs\<SolutionName>\<VsVersion>\.soo`为我工作. (5认同)

han*_*olo 12

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

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

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

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

  • 在删除*.suo文件之前,请确保关闭所有Visual Studio实例,然后再次打开解决方案. (2认同)

Mik*_*ill 5

略有不同的解决方案.

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

我没有.suo要删除的文件,在我的工作区中没有提到D:路径(埋在File\Source Control\Advanced\Workspaces菜单下面),TFS显示我确实拥有了我的(不再存在的)D中的最新文件:目录和VS2013中的TFS没有此项目的"删除映射"选项.

但是的工作是根本就上一个项目"获取最新版本".

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

以前,D:路径没有这样显示.

奇.很奇怪.

  • 对我来说完全相同的情况.由于这条不正确的道路,我犹豫不决拉动扳机和"获取最新",但@迈克给了我勇气! (2认同)