当我试图从 TFS 源代码管理加载 VS 2008项目时,我得到了这个错误:
项目文件已被移动、重命名或不在您的计算机上
当我点击确定后,项目显示“不可用”。 有什么问题吗?我该怎么解决这个问题?我以前从没遇到过这种问题。一些博客说要删除。但是我找不到。索文件。我删除了我的本地计算机上的整个项目,以便下次它打开时将创建一个新的,但我仍然得到相同的错误。
试着打开。Csproj 或。用 vbproj 代替。(西班牙语)。可能发生的是。Sln (解决方案)文件具有对组件项目的绝对文件引用(而不是相对路径)。您可能需要重新创建。或者手工编辑。
右键单击不可用的项目并编辑项目文件... ... 很有可能,您会找到一个硬编码的文件路径或虚拟的路径,与您签出项目的位置不匹配。
善良,
丹
TFS 的工作原理和大多数源代码控制软件包一样: 它会记住它放在你电脑上的内容,这样当你“获取最新内容”时,它只需要获取自上次“获取”以来的更改,而不是必须获取所有内容。
这里有一个警告: 如果您删除或重命名磁盘上的本地文件,TFS 不会知道您已经这样做了,而且它仍然会认为它们还在原来的位置。
如果您然后“获取最新”,它不会打扰更新丢失的文件。
然后,您可能会从 TFS 和任何其他查找文件的工具中得到各种“丢失的文件”错误。
为了避开它,你需要:
如果您有任何本地更改的(可写的)文件,那么要小心。还有第二个选项会覆盖这些内容,丢失您的更改。但你有后援,所以你应该很安全。通常最好也勾选这个选项,以确保所有源代码都是最新的。(但显然只有在您不介意丢失任何本地更改的情况下!)
当您确定,这将强制获取项目中的所有文件到您的本地驱动器,并应纠正问题。
清除您的工作区映射(File-> Source Control-> Workspace)。编辑工作区,要么清除所有映射(更多的反馈) ,要么找到与此服务器路径相关联的映射。然后打开源代码管理资源管理器并重新映射。双击源代码管理资源管理器中的 SLN,应该会得到最新版本。不完全确定发生了什么或者你设法进入了什么状态,但是这应该会让你再次行动起来。
通常有助于修复它的是删除解决方案用户选项又名“ SUO”。
VS 至2013年
在旧版 VS 中,它作为“隐藏”SolutionName.suo存储在与主 .sln文件相同的文件夹中。
SolutionName.suo
.sln
VS2015或更高版本
在 VS2015中,同样的数据被移动到与主 .sln文件位于同一文件夹下的“隐藏”.vs文件夹中。
.vs
我发现创建一个新的 Solutionsln 文件是最简单的。
我遇到了这个问题,通过从一个同事那里获取 .rptproj文件并将它们复制到我的本地目录中,我解决了这个问题。该项目然后能够重新加载。
.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
解决这个问题
在我的例子中,删除。索赔文件不足。我发现我的工作区配置有一个错误。我通过以下步骤发现并解决了这个问题:
在团队资源管理器中,“管理工作区...”
点击“编辑...”
更正“本地文件夹”下的值
最后,根据接受的答案删除受影响的.suo 文件。
我只是在重命名一个项目后使用 VS2013遇到了这个问题。斯坦利的回答引导我找到了解决办法:
关闭 VS-delete. suo 文件-再次启动 VS。
以特殊方式删除.suo 文件。
为了解决这个问题,我花了很多时间。我做了这些步骤: 重命名项目,重命名名称空间,重命名项目文件夹,编辑。Sln 文件,编辑隐藏。索文件。项目加载,但它是无法识别的 TFS!最后我找到了 这本指南。
在解决方案资源管理器中右键单击项目,选择“重命名”,然后输入新名称
再次右键单击项目并选择“属性”。更改“应用程序”选项卡上的“程序集名称”和“默认命名空间”。
再次右键单击项目并选择 Refactor-> Adjust Namespaces。
在 Properties/AssemblyInfo.cs 中更改 AssemblyTitle 和 AssemblyProduct
在文件资源管理器中删除 bin 和 obj 目录
打开源代码管理资源管理器并重命名项目的目录。这将关闭解决方案。让它关闭。
打开 SLN 文件(使用 Notepad + + 等文本编辑器)并更改项目的路径(应该有多个位置)。
再次打开解决方案。清理并重新生成项目。
对我来说最简单的选择是:
有时,即使更改了 .sln和 .csproj路径并手动重命名,也可能忘记检查包含项目的文件夹名称。
.csproj
我也经历过。显然,我在旧电脑上创建 csproj 文件时没有签入,所以当我在新电脑上从 TFS 下载项目时,文件不在那里。
在使用我的旧计算机检查它们并从新计算机的 TFS 中获取它们之后,我成功地重新加载了项目。