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

我得到这个错误,当我尝试从TFS加载VS 2008项目(源代码pipe理)

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

我点击确定后,项目说“不可用”。 问题是什么? 我该如何解决这个问题? 我从来没有遇到过这个问题。 有些博客说删除.suo文件。 但我不能find.suo文件。 我删除了我的本地计算机上的整个项目,所以下次打开它会创build一个新的,但我仍然得到相同的错误。 有任何想法吗?

通常有助于解决问题的方法是删除解决scheme用户选项(即“SUO”)。

VS直到2013年

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

VS2015或更高版本

在VS2015中,同一date被移到与主.sln文件相同的文件夹下的“hidden” .vs文件夹中。

我刚刚在重命名项目后使用VS 2013遇到了这个问题。 斯坦利的回答引导我解决问题:

closuresVS – 删除.suo文件 – 再次启动VS。

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

  1. 当您删除隐藏的.suo文件时,不要打开解决scheme。
  2. 重新启动VisualStudio。
  3. 打开解决scheme并添加项目没有错误消息。

TFS的工作方式与大多数源代码控制软件包一样:它记住它放在你的计算机上的什么东西,这样当你“获取最新”时,它只需要从你上一次“获取”之后获得chnages,而不必得到一切。

这有一个警告:如果删除或重命名磁盘上的本地文件,TFS不会知道你已经完成了这个操作,而且它仍然会认为它是离开它们的地方。

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

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

为了解决它,你需要:

  • 如果您认为您可能有任何不想丢失的更改,请将PC上的源文件夹复制为备份以防万一!
  • 右键单击该项目(在解决scheme资源pipe理器中)或文件夹(在源代码pipe理中)
  • 从上下文菜单中select“获取特定版本”
  • select获得“最新版本”,并勾选说(类似的东西)“强制获取文件已经在你的工作区”的选项,这告诉TFS忘记它“知道”,并无论如何获得所有的文件。

如果您有任何本地更改(可写入)的文件,请小心。 还有第二个选项会覆盖这些,失去你的改变。 但是你有备份,所以你应该是安全的。 最好勾选这个选项,以确保所有的源代码都是最新的。 (但显然只有当你不介意丢失任何本地的变化!)

当你确定的时候,这会强制把项目中的所有文件都存到你的本地驱动器,并且应该纠正这个问题。

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

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

  • 修改相对path以匹配修改/移动的物理path

     SccProjectUniqueName1 = Source\\Order\\Order.csproj SccProjectName1 = Order.ApplicationService SccLocalPath1 = Order.ApplicationService 
  • 此外,确定引用项目的正确相对path

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

尝试打开.csproj或.vbproj而不是.sln。 可能发生的事情是.sln(解决scheme)文件具有绝对文件引用(而不是相对path)到组件项目。 您可能需要重新创build.sln,或者手动编辑它。

我发现创build一个新的Solution sln文件是最容易的。

清除你的工作区映射(文件 – >源代码pipe理 – >工作区)。 编辑工作区并清除所有映射(更多反馈)或find与此服务器path关联的映射。 然后打开Source Control Explorer并重新映射。 双击源代码pipe理器中的SLN,它应该是最新的。 不完全确定发生了什么事情或者你设法进入什么状态,但是这样会让你再次移动。

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

在我的情况下,删除.suo文件是不够的。 我发现我的工作区configuration有错误。 我发现并解决了这个问题:

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

    在这里输入图像说明

  2. 点击“修改…”

    在这里输入图像说明

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

    在这里输入图像说明

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

解决scheme为此

  1. 再次重命名项目文件夹
  2. 设置特定的版本&强制进入TFS
  3. 删除最新文件夹中的只读&隐藏选项(不是重命名文件夹)
  4. 现在你可以打开项目没有任何问题

右键单击不可用的项目并编辑项目文件…很可能会发现一个硬编码的文件path或虚拟path,与您检查项目的位置不匹配。

善良,

我花了很多时间来解决这个问题。 我做了这些步骤:重命名项目,重命名命名空间,重命名项目文件夹,编辑.sln文件,编辑隐藏的.suo文件。 项目加载,但无法识别的TFS! 最后我find了这个指南 。

如果您使用的是Resharper,并且TFVC是您的版本控制,请按照下列步骤操作:

  • 右键单击解决scheme资源pipe理器中的项目,select重命名,然后input新名称

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

  • 再次右键单击该项目,然后select重构 – >调整命名空间。 接受更改。

  • 更改属性/ AssemblyInfo.cs中的AssemblyTitle和AssemblyProduct

  • 在Windows资源pipe理器中删除bin和obj目录

  • 打开源代码pipe理器并重命名该项目的目录。 这将closures解决scheme。 让它被closures。

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

  • 再次打开解决scheme。 清理并重build项目。