我已经看到了很多不同的主题,所以我想如果有一个这样的首选方式。有没有Visual Studio项目/解决方案结构的最佳实践?
关于如何针对相同解决方案的多个解决方案设置Visual Studio项目和解决方案,是否有任何最佳实践?
例如: 假设我有一个任务需要一个Web应用程序,一个控制台应用程序和一个共享业务逻辑库。
在我职业生涯的某个时候,我已经看到了1,2和3种解决方案中的这种情况。这是一个简单的例子;但是,如果项目数量增长会怎样?是否有一条线保持一条或将它分开?
我已经看到了很多不同的主题,所以我想如果有一个这样的首选方式。有没有Visual Studio项目/解决方案结构的最佳实践?
关于如何针对相同解决方案的多个解决方案设置Visual Studio项目和解决方案,是否有任何最佳实践?
例如: 假设我有一个任务需要一个Web应用程序,一个控制台应用程序和一个共享业务逻辑库。
在我职业生涯的某个时候,我已经看到了1,2和3种解决方案中的这种情况。这是一个简单的例子;但是,如果项目数量增长会怎样?是否有一条线保持一条或将它分开?
事实上,对于这种设置对MSDN一些指引。我在StackOverflow的answer to a similar question上写了一个简短的总结。
我喜欢在解决方案中包含针对特定任务的所有项目。所以根据你提到的例子,我会有一个包含属于我被要求做的解决方案的三个项目的解决方案。这样可以让所有元素一起完成一项任务,我发现这简化了包含解决手头任务所需的其他元素。
您可以拥有multipe解决方案,并且每个解决方案都可以引用它关心的项目。扩展你的例子,你的共享业务逻辑库可能有一个相应的单元测试库。这两个项目可以包含在一个解决方案中。同时,您可能有另一个包含您提到的三个项目的解决方案,但在这种情况下,单元测试库不包含在内。
解决方案适用于特定情况下的开发人员。项目(C-Sharp的.CSPROJ)是真正编译的地方。
理论上,如果有4个不同的项目,那么开发人员可能希望将这些项目组合为24个不同的组合。
如果你把一切都在一个项目层面上,你将不必担心开发商是如何安排自己的.sln文件
我在TechEd今年问了一个微软的'专家',他基本上同意你在这里说的话,他主张不添加.sln文件来源完全控制,只有.csproj文件。每个开发人员都会选择适合特定任务的组合。 – rohancragg 2008-12-18 14:43:40
这有助于考虑,但对我来说似乎很奇怪。当然,如果多个开发人员正在研究单个Windows窗体应用程序,他们将希望以相同的方式构建它。你可以在源代码控制中总是有多个.sln文件,我想。 – 2014-02-23 02:58:11
我的解决方案通常包括:
我的博客上讲述这个早在2007年的建议仍然有效:
http://mikehadlow.blogspot.com/2007/07/how-to-structure-visual-studio.html
底线是,我应该能够得到您的代码从源头控制,在Visual Studio中打开它,按下F5一切都应该工作。
我想最好的实践,取决于你发现最简单的做法 – CheGueVerra 2008-11-12 18:54:18