为什么“设置为启动”选项存储在suo文件中而不是sln文件中?
看来这个设置应该存储在解决scheme文件中,以便在所有用户和源代码控制的一部分之间共享。 由于我们没有检查suo文件,每个用户都必须单独设置,这似乎很奇怪。
为什么它应该是一个非用户特定的偏好?
如果我有一个包含10个文件的解决scheme,而一个开发人员主要是testing/使用其中一个工具,那么为什么会影响我创build的?
我认为MS做出了正确的select。 我想开始的项目远不是其他开发人员想要开始的项目。
正如乔恩所说 ,每个人都可以自己定义自己的启动项目是绝对必要的。 但要有一个专门的默认的会很好,我可以告诉,这是可能的!
如果您的解决scheme目录中没有.suo文件,则Visual Studio将select.sln文件中的第一个项目作为默认启动项目。
-
closures你的Visual Studio,并在你最喜欢的文本编辑器中打开.sln文件。 从第4行开始,您将看到所有项目都封装在
Project
–EndProject
行中。 -
将所需的默认启动项目剪切并粘贴到顶部位置。
-
删除.suo文件。
-
在Visual Studio中打开您的解决scheme。 达达!
如果你知道Jon不知道的东西,有没有特别的奖励? 😉
在大多数情况下,对此有一个默认值是有意义的。
容纳一个默认的启动项目并将其存储在.sln文件中,但是可以被.suo文件中的开发人员覆盖。 如果在.suo文件中找不到启动设置,则会使用.sln中的默认启动项目。
实际上,这已经在Visual Studio的UserVoice上提出了 。
我为Windows写了一个名为slnStartupProject
命令行实用程序来自动设置启动项目:
slnStartupProject slnFilename projectName
在使用cmake生成解决scheme后,我亲自使用它来设置启动项目,该解决scheme始终将虚拟ALL_BUILD
项目设置为第一个项目。
源代码在GitHub上。 叉子和反馈是受欢迎的。
如果您使用的是GIT,则可以提交默认的SUO文件,然后将其标记为未更改
git update-index --assume-unchanged YourSolution.suo
如果你想在你的默认启动组中有多个项目,它也可以工作。 我所知道的唯一缺点是这个命令必须由不想提交SUO文件的所有人运行。