项目文件已被重命名或不在您的计算机上

当我试图从 TFS 源代码管理加载 VS 2008项目时,我得到了这个错误:

项目文件已被移动、重命名或不在您的计算机上

当我点击确定后,项目显示“不可用”。 有什么问题吗?我该怎么解决这个问题?我以前从没遇到过这种问题。一些博客说要删除。但是我找不到。索文件。我删除了我的本地计算机上的整个项目,以便下次它打开时将创建一个新的,但我仍然得到相同的错误。

72501 次浏览

试着打开。Csproj 或。用 vbproj 代替。(西班牙语)。可能发生的是。Sln (解决方案)文件具有对组件项目的绝对文件引用(而不是相对路径)。您可能需要重新创建。或者手工编辑。

右键单击不可用的项目并编辑项目文件... ... 很有可能,您会找到一个硬编码的文件路径或虚拟的路径,与您签出项目的位置不匹配。

善良,

TFS 的工作原理和大多数源代码控制软件包一样: 它会记住它放在你电脑上的内容,这样当你“获取最新内容”时,它只需要获取自上次“获取”以来的更改,而不是必须获取所有内容。

这里有一个警告: 如果您删除或重命名磁盘上的本地文件,TFS 不会知道您已经这样做了,而且它仍然会认为它们还在原来的位置。

如果您然后“获取最新”,它不会打扰更新丢失的文件。

然后,您可能会从 TFS 和任何其他查找文件的工具中得到各种“丢失的文件”错误。

为了避开它,你需要:

  • 如果你认为你可能有任何变化,你不想失去,复制源文件夹在您的电脑作为备份,以防万一!
  • 右键单击项目(在解决方案资源管理器中)或文件夹(在源代码管理中)
  • 从上下文菜单中选择“获取特定版本”
  • 选择获取“最新版本”并勾选“强制获取工作区中已有的文件”选项,该选项告诉 TFS 忘记它“知道”的内容,然后再次获取所有文件。

如果您有任何本地更改的(可写的)文件,那么要小心。还有第二个选项会覆盖这些内容,丢失您的更改。但你有后援,所以你应该很安全。通常最好也勾选这个选项,以确保所有源代码都是最新的。(但显然只有在您不介意丢失任何本地更改的情况下!)

当您确定,这将强制获取项目中的所有文件到您的本地驱动器,并应纠正问题。

清除您的工作区映射(File-> Source Control-> Workspace)。编辑工作区,要么清除所有映射(更多的反馈) ,要么找到与此服务器路径相关联的映射。然后打开源代码管理资源管理器并重新映射。双击源代码管理资源管理器中的 SLN,应该会得到最新版本。不完全确定发生了什么或者你设法进入了什么状态,但是这应该会让你再次行动起来。

通常有助于修复它的是删除解决方案用户选项又名“ SUO”。

VS 至2013年

在旧版 VS 中,它作为“隐藏”SolutionName.suo存储在与主 .sln文件相同的文件夹中。

VS2015或更高版本

在 VS2015中,同样的数据被移动到与主 .sln文件位于同一文件夹下的“隐藏”.vs文件夹中。

我发现创建一个新的 Solutionsln 文件是最简单的。

我遇到了这个问题,通过从一个同事那里获取 .rptproj文件并将它们复制到我的本地目录中,我解决了这个问题。该项目然后能够重新加载。

虽然这是众所周知的 VS 缺陷,我们肯定可以处理它!

  • 在编辑模式下打开解决方案文件

  • 修改相对路径以匹配修改/移动的物理路径。

    SccProjectUniqueName1 = Source\\Order\\Order.csproj
    SccProjectName1 = Order.ApplicationService
    SccLocalPath1 = Order.ApplicationService
    
  • Also, makesure of correct relative path for the referring project(s)

    Project("{asdasd-301F-11D3-BF4B-asdasd}") = "Order",
    "Source\Order\Order.csproj", "{E25641BC-C990-40E2-8876-08AE8728F763}"
    EndProject
    

解决这个问题

  1. 再次重命名项目文件夹
  2. 在 TFS 中设置特定的版本和强制获取
  3. 删除最新文件夹中的只读 & 隐藏选项(不是重命名文件夹)
  4. 现在您可以毫无问题地打开项目了

在我的例子中,删除。索赔文件不足。我发现我的工作区配置有一个错误。我通过以下步骤发现并解决了这个问题:

  1. 在团队资源管理器中,“管理工作区...”

    enter image description here

  2. 点击“编辑...”

    enter image description here

  3. 更正“本地文件夹”下的值

    enter image description here

  4. 最后,根据接受的答案删除受影响的.suo 文件。

我只是在重命名一个项目后使用 VS2013遇到了这个问题。斯坦利的回答引导我找到了解决办法:

关闭 VS-delete. suo 文件-再次启动 VS。

以特殊方式删除.suo 文件。

  1. 删除隐藏的.suo 文件时,解决方案未打开。
  2. 重新启动 VisualStudio。
  3. 打开解决方案并添加无错误消息的项目。

为了解决这个问题,我花了很多时间。我做了这些步骤: 重命名项目,重命名名称空间,重命名项目文件夹,编辑。Sln 文件,编辑隐藏。索文件。项目加载,但它是无法识别的 TFS!最后我找到了 这本指南

如果你正在使用 Resharper 并且 TFVC 是你的版本控制,请遵循以下步骤:

  • 在解决方案资源管理器中右键单击项目,选择“重命名”,然后输入新名称

  • 再次右键单击项目并选择“属性”。更改“应用程序”选项卡上的“程序集名称”和“默认命名空间”。

  • 再次右键单击项目并选择 Refactor-> Adjust Namespaces。

  • 在 Properties/AssemblyInfo.cs 中更改 AssemblyTitle 和 AssemblyProduct

  • 在文件资源管理器中删除 bin 和 obj 目录

  • 打开源代码管理资源管理器并重命名项目的目录。这将关闭解决方案。让它关闭。

  • 打开 SLN 文件(使用 Notepad + + 等文本编辑器)并更改项目的路径(应该有多个位置)。

  • 再次打开解决方案。清理并重新生成项目。

对我来说最简单的选择是:

  1. 右键单击项目 & 删除“未加载”或“不可用”项目
  2. 右击解决方案并添加“现有项目”

有时,即使更改了 .sln.csproj路径并手动重命名,也可能忘记检查包含项目的文件夹名称。

我也经历过。显然,我在旧电脑上创建 csproj 文件时没有签入,所以当我在新电脑上从 TFS 下载项目时,文件不在那里。

在使用我的旧计算机检查它们并从新计算机的 TFS 中获取它们之后,我成功地重新加载了项目。