我即将将我们的代码从 VSS2005 迁移到 VisualSVN(同时添加到 TeamCity)。
这给了我一次重组代码文件/文件夹的机会,我正在寻找一些关于如何构建多个小型解决方案的建议,这些解决方案通常包含其“区域”或每个项目共有的代码。
我有很多小型的内部应用程序——winforms、MVC3 站点、控制台/服务应用程序等,通常是特定于部门的。大多数部门都有一些与他们一起工作的“通用”代码,然后还有一些通用的通用代码,例如扩展方法,这对于大多数项目都是通用的。
默认情况下,VS2010 创建一个包含 .sln 文件的“解决方案”文件夹,然后在下面创建“项目”文件夹。这意味着一切都是很好的离散 - 但共享项目更加困难,因为项目看起来“特定于解决方案”
我知道你可以参考任何东西,但在磁盘结构上它“看起来”特定于解决方案
CommonCode
--CCProj1
--CCProj2
HR.ServiceApp
-HR.ServiceApp.sln
--HR.SmallApp1.DAL
--HR.SmallApp1.Service
HR.WinFormsApp
-HR.WinFormsApp.sln
--HR.SmallApp2.DAL
--HR.SmallApp2.WinForms
另一种可能是这样的结构:
CommonCode
--CCProj1
--CCProj2
HR
-HR.Service.sln
-HR.WinForm.sln
--HR.DAL
--HR.Service
--HR.WinForms
它将所有 HR 代码放在一个文件夹下 - 但是对于新用户来说,使用多种解决方案可能会变得有点不清楚?
任何关于其他人通常做什么的建议都会非常感激地接受(特别注意转向 SVN)
另一种选择
HR
-HR.Common
--HR.Common.Repository
---HR.Common.Repository.sln
----HR.Common.DAL
-----HR.Common.DAL.csproj
----HR.Common.BLL
-----HR.Common.BLL.csproj
-HR.Services
--HR.Services.Service1.sln
---HR.Services.Service1
----HR.Services.Service1.csproj
--HR.Services.Service2.sln
---HR.Services.Service2
----HR.Services.Service2.csproj