jle*_*bke 100 version-control projects-and-solutions visual-studio-2008 visual-studio
将.sln文件提交给源代码控制是最佳做法吗?什么时候适当或不恰当?
更新 答案中有几个好点.谢谢你的回复!
Tre*_*son 68
我认为从其他答案中可以清楚地看出,解决方案文件很有用并且应该提交,即使它们不用于官方构建.对于任何使用Go Studio定义/声明等Visual Studio功能的人来说,它们都很方便.
默认情况下,它们不包含绝对路径或任何其他特定于计算机的工件.(遗憾的是,某些加载项工具无法正确维护此属性,例如AMD CodeAnalyst.)如果您在项目文件中使用相对路径(包括C++和C#),它们将与机器无关太.
可能更有用的问题是:您应该排除哪些文件?这是我的VS 2008项目的.gitignore文件的内容:
*.suo
*.user
*.ncb
Debug/
Release/
CodeAnalyst/
Run Code Online (Sandbox Code Playgroud)
(最后一个条目仅适用于AMD CodeAnalyst分析器.)
对于VS 2010,您还应排除以下内容:
ipch/
*.sdf
*.opensdf
Run Code Online (Sandbox Code Playgroud)
我通常同意应该检查解决方案文件,但是,在我工作的公司,我们做了不同的事情.我们有一个相当大的存储库,开发人员不时在系统的不同部分工作.为了支持我们的工作方式,我们要么有一个大的解决方案文件,要么有几个小的.这两个都有一些缺点,需要在开发人员部分进行手动操作.为了避免这种情况,我们制作了一个处理所有这些的插件.
该插件允许每个开发人员只需从存储库中选择相关项目,就可以检查源树的子集.然后,该插件生成一个解决方案文件,并为给定的解决方案动态修改项目文件.它还处理引用.换句话说,开发人员所要做的就是选择适当的项目,然后生成/修改必要的文件.这也允许我们定制各种其他设置以确保公司标准.
此外,我们使用该插件来支持各种签入策略,这通常会阻止用户将错误/不合规的代码提交到存储库.