gpt4 book ai didi

svn - 如何使用共享的公共(public)代码构建多个小型解决方案(迁移到 SVN)

转载 作者:行者123 更新时间:2023-12-04 05:16:35 26 4
gpt4 key购买 nike

我即将将我们的代码从 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

最佳答案

对您的团队来说,结构化的答案更多的是问题,而不是问答网站。正如您所展示的,有多种解决方案,每种解决方案都有其优点。这一切都取决于你的团队最舒服的方式。

就这与 SVN 的关系而言 - 它没有。 SVN 将允许您随意构建,因为它与 IDE/编程语言等无关。

但是,在过渡阶段,您可以做的是创建代码的多个分支,组成不同的结构,以便您可以向您的团队演示每种不同的方式。做出决定后,将最佳代码合并到主干中。为了管理这个分支,你的 SVN 存储库的顶层应该有文件夹 trunk、branches 和 tags。

关于svn - 如何使用共享的公共(public)代码构建多个小型解决方案(迁移到 SVN),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14190165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com