在设置包含许多项目的Visual Studio .NET解决方案时,您是否觉得"解决方案文件夹"很有用?有什么缺点?
我最初的想法是,使用解决方案文件夹对于在解决方案中逻辑组织类似项目非常有用.但是,我很惊讶地发现创建一个解决方案文件夹不会创建相应的Windows文件夹.来自MSDN:
"解决方案文件夹是解决方案资源管理器中的组织工具;不会创建相应的Windows文件夹.我们建议您按照在解决方案中组织项目的方式在磁盘上组织项目."
我正在考虑组织解决方案,以便每个项目都包含在解决方案文件夹中.这是一个好主意吗?
解决方案文件夹可以帮助组织项目.它们有一个很大的优势:如果您想构建一些项目集,那么您可以标记它们并右键单击它们并选择"构建所选项目".如果您的解决方案文件夹组织适合您,只需右键单击解决方案文件夹并选择"构建".
我们有"MainApps"和"Test"(以及其他一些)的sln文件夹.如果您需要所有应用程序,则可构建完整的解决方案.但是,如果您不想等待构建测试项目,您只需右键单击并构建"MainApps"文件夹即可!
解决方案是相关项目的集合,收集在一起以满足某些目的,例如应用程序.解决方案文件(是的,它是一个实际的文件,而不是文件夹,虽然它看起来像VS中的文件夹)本身值得一看 - 它只是描述解决方案包含内容的元数据,最重要的是它的项目.
您可以在不同的解决方案中合法地使用相同的项目.
例如,我们有一个WinForms应用程序,它有以下项目:
的BusinessObjects
数据访问
EnvironmentSupport
CustomControls
MainUI(实际上它不是这个,但它就是这个)
构建解决方案构建整个Windows应用程序.
然后我们还有一个Web应用程序 - 在它自己的解决方案中.但是,由于我们重用了我们的几个项目,它们也在Web解决方案中出现,它具有:
的BusinessObjects
数据访问
EnvironmentSupport
MainWebUI(再次,它实际上并没有这个称为)
CustomWebControls
同样,构建解决方案会构建整个网站.
我们的项目只在源代码控制中出现一次,这一切都很有效.
我们构建它的方式,一个解决方案几乎等同于一个应用程序,虽然这只是一个松散的关系.我们还为Windows应用程序提供了一个部署解决方案,它包含所有WinForms应用程序项目,以及安装项目(创建.MSI).我们将它分开,因为它包含许多额外的东西,使它非常大.
HTH.
我们使用解决方案文件夹在解决方案中"关联"项目.例如,我们的大多数"项目"都有3个实际项目 - 实现,单元测试和集成测试.我们将所有3个放在一个解决方案文件夹 我们也可能将所有基础设施放在一个和所有CAB模块中.基本上,当您拥有一个包含50多个项目的解决方案时,有助于保持它们的有序性,这样您就可以只扩展您正在寻找的内容并根据逻辑分组查找内容.