Answers:
通常可以解决的问题是删除“解决方案用户选项”(又称“ SUO”)。
VS直到2013
在较旧的VS中,它作为“隐藏”存储SolutionName.suo
在与主.sln
文件相同的文件夹中。
VS2015或更高版本
在VS2015中,相同的数据已移至.vs
与主.sln
文件相同的文件夹下的“隐藏” 文件夹。
重命名项目后,我使用VS 2013遇到了这个问题。斯坦利的答案将我引向了解决方案:
关闭VS-删除.suo文件-再次启动VS。
以特殊方式删除.suo文件。
.vs
文件夹
TFS就像大多数源代码控制程序包一样工作:它会记住它在计算机上放置的内容,因此,当您“获取最新”信息时,它仅需获取自上次“获取”信息以来的变化,而不必绝对获取所有信息。
这有一个警告:如果删除或重命名磁盘上的本地文件,TFS不会知道您已完成此操作,并且它仍然会认为它们在原处。
如果您然后单击“获取最新”,则不会麻烦更新丢失的文件。
这样,您很可能会从TFS和其他用于查找文件的工具中获得各种“丢失文件”错误。
要解决这个问题,您需要:
如果您有任何本地更改(可写)的文件,请当心。还有第二个选项将覆盖这些选项,从而丢失您的更改。但是您有备份,因此应该安全。通常最好同时勾选此选项,以确保所有源代码都是最新的。(但是很明显只有在您不介意丢失任何本地更改的情况下!)
单击确定后,这将强制将项目中的所有文件都移至本地驱动器,并应解决此问题。
尽管这是众所周知的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
对我来说,最简单的选择是:
就我而言,删除.suo文件是不够的。我发现我的工作区配置有错误。我通过以下步骤发现并解决了该问题:
在团队资源管理器中,“管理工作区...”
点击“编辑...”
更正“本地文件夹”下的值
最后,根据接受的答案删除受影响的.suo文件。
清除您的工作区映射(文件->源代码管理->工作区)。编辑工作空间,然后清除所有映射(更具影响力)或找到与此服务器路径关联的映射。然后打开Source Control Explorer,然后重新映射。双击“源代码管理”资源管理器中的SLN,它应该是最新的。不能完全确定发生了什么事或设法进入什么状态,但是这样做应该可以使您再次行动。
我花了很多时间尝试解决这个问题。我执行了以下步骤:重命名项目,重命名空间,重命名项目文件夹,编辑.sln文件,编辑隐藏的.suo文件。项目已加载,但TFS无法识别!终于我找到了这个指南。
在解决方案资源管理器中右键单击该项目,选择“重命名”,然后输入新名称
再次右键单击该项目,然后选择“属性”。在“应用程序”选项卡上更改“程序集名称”和“默认名称空间”。
再次右键单击该项目,然后选择“重构”->“调整命名空间”。接受更改。
在Properties / AssemblyInfo.cs中更改AssemblyTitle和AssemblyProduct
在Windows资源管理器中删除bin和obj目录
打开源代码管理资源管理器,然后重命名项目目录。这将关闭解决方案。让它关闭。
打开SLN文件(使用文本编辑器,例如Notepad ++),然后更改项目的路径(应该有多个位置)。
再次打开解决方案。清理并重建项目。
右键单击不可用的项目并编辑项目文件...可能会发现硬编码的文件路径或与您检出项目的位置不匹配的虚拟路径。
善良,
担
解决方案