Visual Studio项目/解决方案结构是否有最佳实践?

时间:2008-11-12 18:28:56

标签: visual-studio

我已经看到了很多关于这个主题的不同看法,所以我想是否有一个首选的方法。

对于针对相同解决方案的多个解决方案,是否有关于如何设置Visual Studio项目和解决方案的最佳实践?

例如: 假设我有一个需要Web应用程序,控制台应用程序和共享业务逻辑库的任务。

在我职业生涯的某个时间,我已经在1,2和3解决方案中看到了这种情况。这是一个简单的例子;但是,如果项目数量增长怎么办?是什么时候将它保持在一个或分开?

6 个答案:

答案 0 :(得分:15)

事实上,MSDN上有一些关于此类设置的指南。我在StackOverflow上的answer to a similar question中写了一个简短的摘要。

答案 1 :(得分:13)

我在2007年写了这篇博文。这个建议仍然存在:

http://mikehadlow.blogspot.com/2007/07/how-to-structure-visual-studio.html

最重要的是,我应该能够从源代码控制中获取代码,在Visual Studio中打开它,点击F5,一切都应该有效。

答案 2 :(得分:7)

在特定情况下,解决方案适用于开发人员。项目(C-Sharp的.CSPROJ)是实际编译的地方。

理论上,如果有4个不同的项目,那么开发人员可能希望将这些项目的24种不同组合组合成解决方案。

如果您将所有内容保存在项目级别,则无需担心开发人员如何安排他们的.SLN文件

答案 3 :(得分:4)

您可以拥有多重解决方案,每个解决方案都可以引用它关心的项目。扩展您的示例,您的共享业务逻辑库可能具有相应的单元测试库。这两个项目可以包含在一个解决方案中。同时,您可能有另一个解决方案,其中包含您提到的三个项目,但在这种情况下,不包括单元测试库。

答案 4 :(得分:2)

我的解决方案通常包括:

  • Web应用程序项目
    • '基本&'的'Common'文件夹共同帮助班
    • '包含'文件夹
      • '样式'文件夹
      • '脚本'文件夹
      • '图像'文件夹
    • 'UserControls'文件夹
  • 网络服务项目
  • Web框架项目
  • 业务层项目
  • 业务框架项目
  • 数据访问项目

答案 5 :(得分:1)

我希望在解决方案中包含特定任务的所有项目。因此,基于您提到的示例,我将有一个解决方案,其中包含属于我被要求执行的解决方案的三个项目。这使得所有元素一起完成任务,我发现这简化了包含解决手头任务所需的其他元素。