最佳实践:协同环境,Bin目录,SVN

Ryan Eastabrook 29 svn collaboration

在使用SVN的协作开发环境中检入BIN目录的最佳做法是什么?项目级参考是否应该从签入中排除?是否更容易添加所有bin目录?

我开发了很多DotNetNuke站点,似乎在多开发人员环境中,正确设置环境始终是一项艰巨的任务.

最终的目标(当然)是让一个新的开发人员从SVN签出中继,恢复DNN数据库,并让它只是'工作'......

Karl Seguin.. 20

预计将在GAC中的任何程序集都应保留在GAC中.这包括System.web.dll或您将在生产中部署到GAC的任何其他第三方DLL.这意味着新开发人员必须安装这些程序集.

所有其他第三方程序集应该通过相对路径引用.我的典型结构是:

-Project
--Project.sln
--References
---StructureMap.dll
---NUnit.dll
---System.Web.Mvc.dll
--Project.Web
---Project.Web.Proj
---Project.Web.Proj files
--Project
---Project.Proj
---Project.Proj files

Project.Web和Project相对引用根/ References文件夹中的程序集.这些.dll被检入subversion.

除此之外,*/bin*/bin/*obj应该在您的全局忽略路径中.

通过此设置,对程序集的所有引用都可以通过GAC(因此应该适用于所有计算机),或者相对于解决方案中的每个项目.


Peter Burns.. 5

这是.Net特定的问题吗?

通常,最佳做法是不检查从SCM中已存在的文件自动构建的任何内容.所有这些都是理想的创建过程,作为自动构建过程的一部分.

如果bin您所指的目录包含第三方二进制文件,而不是项目的构建,请忽略(downvote?)此建议.