VS损坏的.sln文件?

6

当我尝试打开我的.sln文件时,Visual Studio会突然退出。我可以通过打开TFS,获取特定版本,选择最新版本,强制覆盖,打开.sln文件,然后忽略“不兼容文档消息”来打开它。

然而,为了防止某天无法这样做,我想知道问题出在哪里以及如何解决。

该如何修复这个问题?

4个回答

14

我认为更有可能是 .suo 文件(这是一个隐藏文件)。自至少 VC++ V6 以来,这些文件就已知会导致损坏。删除它可以清除 VS 中出现的各种奇怪/错误的行为。

.suo 存储本地设置:打开哪些文件以及布局、断点、书签等等,只与解决方案或项目无关的内容。)

对于 Visual Studio 2015 和 2017:与解决方案 (.sln) 文件在同一位置不同,它现在保存在名为 .vs 的隐藏文件夹中,该文件夹位于包含解决方案文件的文件夹中。

在 Visual Studio 2022 中,.suo 文件位于 \.vs\MySolution\v17\


2
我的.sln文件真的是损坏了。在notepad++中打开它,发现全都是nul(\x00)。我不得不重新创建一个(文件->新建项目->其他模板->空白解决方案),然后右键单击空白解决方案并添加现有项目(打开您的项目文件),恢复nuget包,然后就可以继续工作了 :) - JP Hellemons
你救了大家的一天! - MikeT

4

您尝试创建新的sln并导入所有项目了吗?如果这不能解决损坏问题,那么可能是一个有问题的项目引起的。


2

获取两个版本的文件副本,使用您喜欢的差异工具查看发生了什么变化。sln文件是xml格式(即人类可读),因此不难弄清楚发生了什么。


1
很难确定。如果您使用文本编辑器打开,一个sln文件的结构非常简单,可以检查一下是否一切看起来都没问题。
对我来说,这个sln文件似乎可能处于冲突状态。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接