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

时间:2010-01-04 20:38:20

标签: visual-studio tfs visual-studio-2008

当我尝试从TFS源代码控制加载VS 2008项目时出现此错误:

  

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

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

16 个答案:

答案 0 :(得分:250)

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

VS至2013年

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

VS2015或更高版本

在VS2015中,同一日期被移至与主.vs文件位于同一文件夹下的“隐藏”.sln文件夹。

答案 1 :(得分:36)

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

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

答案 2 :(得分:20)

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

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

答案 3 :(得分:11)

TFS与大多数源代码控制软件包一样:它会记住它在您的计算机上放置的内容,这样当您“获取最新信息”时,它只需要获取自上次“获取”以来的内容,而不必获得绝对所有内容。< / p>

这有一点需要注意:如果你删除或重命名磁盘上的本地文件,TFS将不会知道你已经这样做了,它仍然会认为它们离开了它们。

如果您再“获取最新”,则无需更新丢失的文件。

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

要解决它,你需要:

  • 如果您认为自己可能有任何不想丢失的更改,请将PC上的源文件夹作为备份复制以防万一!
  • 右键单击项目(在解决方案资源管理器中)或文件夹(在源代码管理中)
  • 从上下文菜单中选择“获取特定版本”
  • 选择获取“最新版本”并勾选选项(例如)“强制获取已存在于工作区中的文件”,这告诉TFS忘记它“知道”并再次获取所有文件

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

当你没问题时,这将强制将项目中的所有文件都提供给本地驱动器,并应纠正问题。

答案 4 :(得分:9)

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

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

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

    SccProjectUniqueName1 = Source\\Order\\Order.csproj
    SccProjectName1 = Order.ApplicationService
    SccLocalPath1 = Order.ApplicationService
    
  • 此外,确定参考项目的正确相对路径

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

答案 5 :(得分:6)

尝试打开.csproj或.vbproj而不是.sln。可能发生的是.sln(解决方案)文件有一个绝对文件引用(而不是相对路径)到compoenent项目。您可能需要重新创建.sln,或手动编辑它。

答案 6 :(得分:3)

在我的情况下,删除.suo文件是不够的。我发现我的工作区配置有错误。我通过以下步骤发现并解决了问题:

  1. 在团队资源管理器中,&#34;管理工作区......&#34;

    enter image description here

  2. 点击&#34;编辑...&#34;

    enter image description here

  3. 更正&#34;本地文件夹&#34;

    下的值

    enter image description here

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

答案 7 :(得分:3)

为我解决的最简单的选择是:

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

答案 8 :(得分:2)

我发现最简单的方法是创建一个新的Solution sln文件。

答案 9 :(得分:1)

清除工作区映射(文件 - &gt;源代码管理 - &gt;工作区)。编辑工作区并清除所有映射(更多反响)或找到与此服务器路径关联的映射。然后打开Source Control Explorer并重新映射。双击源代码管理资源管理器中的SLN,它应该是最新的。不完全确定发生了什么或你设法进入什么状态,但这样可以让你再次活动。

答案 10 :(得分:1)

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

答案 11 :(得分:0)

右键单击不可用的项目并编辑项目文件...可能的情况是,您将找到一个硬编码的文件路径或一个与您检查项目的位置不匹配的虚拟路径。

善,

答案 12 :(得分:0)

解决方案

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

答案 13 :(得分:0)

我花了很多时间尝试解决这个问题。我执行了以下步骤:重命名项目,重命名命名空间,重命名项目文件夹,编辑.sln文件,编辑隐藏的.suo文件。项目已加载但TFS无法识别!最后我找到了this guide

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

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

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

  • 再次右键单击该项目,然后选择Refactor - &gt;调整命名空间。接受更改。

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

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

  • 打开Source Control Explorer并重命名项目的目录。这将关闭解决方案。让它关闭。

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

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

答案 14 :(得分:0)

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

答案 15 :(得分:0)

我也遇到过。显然,当我在旧计算机上创建 csproj 文件时没有检入它们,因此当我在新计算机上从 TFS 下载项目时,这些文件不存在。

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