Visual Studio *.sln file 编辑 bug 记录
sln 是 Visual Studio 20xx 自动创建的解决方案文件,里面存放了有关解决方案的设置信息,以及有关解决方案下项目文件的组织、结构、配置信息;
一般情况下,我们都是通过 Visual Studio 的可视化操作 对 sln 文件间接进行编辑修改的,但是有时候为了提高效果,需要手动进行编辑操作;
这里主要记录手动编辑 sln 文件遇到的问题:
0. 有关 sln 文件的介绍
这里假设读者对 sln 文件有一定了解,因此不在详细说明,主要用来说明遇到的问题
有关 sln 文件可以参考官方文档:解决方案 (。Sln) 文件 - Visual Studio (Windows) | Microsoft Docs
理解 Visual Studio 解决方案文件格式(.sln) - walterlv
1. sln 修改后不起效的 bug
软件环境:visual studio 2022,sublime 3
1.1 问题描述
使用 sublime 打开 sln 文件,然后编辑 GlobalSection(SolutionConfigurationPlatforms) = preSolution 信息,如下图所示:
红框里面是新增的内容;
修改后保存,然后再 visual studio 中重新载入,发现:新增的解决方案配置项,并没有出现,如下图所示:
注:一开始编辑,全部没有出现,这里为了说明问题,故意显示 出 Release R21 Store,便于后面分析问题
1.2 问题分析
根据 1.1 中的现象发现,已经显示的配置项是 Release R21 Store,对应 sln 文件中的是 31 行,没有显示的是 32~40 行,这其中有什么区别不难发现。
唯一的区别是:31 行使用的 缩进是 tab 键,32~40 行使用的是空格 space;
注释:截图中的 —— 代表 Tab 键,…… 代表 Space 空格键
难道竟然是缩进符号的问题???
通过验证发现:果然是缩进符号导致的
1.3 问题总结
产生问题的原因:
笔者再根据 githu 上一篇技术文档的介绍,进行 sln 文件的编辑修改,文档中建议使用编辑器打开手动修改,而且附加上了修改的内容,于是我便很轻易的点击 copy 按钮,进行复制、粘贴,发现没有任何效果。
浪费了半天的事件才发现是 缩进符号导致的,
而且还是在 Sublime 中选中状态下才能发现的
复制粘贴代码害死人,一定要注意。