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

sin*_*eas 144 tfs visual-studio-2008 visual-studio

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

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

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

Sta*_*man 262

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

VS到2013年

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

VS2015或更高版本

在VS2015中,同一日期被移动到.vs与主.sln文件相同的文件夹下的"隐藏" 文件夹中.

  • 删除.suo文件后,请不要忘记重新启动Visual Studio (43认同)
  • 这也适用于Visual Studio 2015,但.suo文件的路径已更改为<SolutionFolder> \.vs\<SolutionName>\v14\.suo. (28认同)
  • 它节省了我的一天;) (8认同)
  • 哦.所以现在隐藏了.suo文件.为什么?哦,我知道为什么.我们是开发人员,显然无法通过在开放时看到.suo文件来处理增加的复杂性;-) (8认同)
  • +1.非常不幸的错误消息 - 根据您的SCC提供商,当您以"正确"的方式移动文件时,实际上*最可能出现*.(例如,对TFS使用'tf rename')在磁盘上移动项目没有告诉TFS,或忘记更新sln/csproj文件,将导致我的经验中出现不同的错误消息.SUO文件是不透明的,所以你要留下挠头,直到你做了一个树干/烧焦. (6认同)
  • 我也在使用VS 2015.正如Greg M.所说,SUO文件现在位于解决方案文件夹中名为.vs的隐藏文件夹中.我能够通过关闭VS,删除整个.vs文件夹并重新打开VS来修复错误. (4认同)

小智 37

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

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

  • 只想添加 - 在删除之前关闭VS的命令.在VS仍处于打开状态时删除文件,然后关闭并重新打开无效.必须先关闭! (5认同)

Mik*_*Loo 21

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

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

  • 为我工作 Visual Studio 2019。只需删除隐藏的“.vs”文件夹 (2认同)

Jas*_*ams 11

TFS的工作方式与大多数源代码控制软件包一样:它会记住它在您的计算机上放置的内容,这样当您"获取最新信息"时,它只需要获取自上次"获取"以来的信息,而不必获得绝对的一切.

这有一点需要注意:如果您删除或重命名磁盘上的本地文件,TFS将不会知道您已完成此操作,并且它仍然认为它们离开了它们.

如果你然后"获取最新",它将无需更新丢失的文件.

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

要绕过它,您需要:

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

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

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


san*_*ula 9

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

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

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

    SccProjectUniqueName1 = Source\\Order\\Order.csproj
    SccProjectName1 = Order.ApplicationService
    SccLocalPath1 = Order.ApplicationService
    
    Run Code Online (Sandbox Code Playgroud)
  • 此外,确定参考项目的正确相对路径

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


Aru*_*oth 8

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

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


Lil*_*ver 6

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