1

我为大家准备了一个有趣的项目布局问题。我真的不确定如何处理这个问题,所以我希望这里有人有一个好主意。

基本上,我有一个 Web 应用程序,在大多数情况下,每个客户都是相同的(配置文件除外)。每个客户都有一些不同的文件(javascript、css、sql 片段),并且使用我们现在的设置来管理所有这些文件有点麻烦。

目前,我们在 SVN 存储库中拥有所有这些自定义文件,当有人来进行更改时,他们首先检查核心项目(由页面、C# 类、javascript 文件、全局样式、图像等组成的 Web 窗体应用程序)进入一个新的工作目录,然后检出自定义文件并将它们导出到核心项目的工作目录中。一旦他们完成更改,他们将提交核心项目中发生的任何更改(错误修复、其他客户想要的更改/功能),然后将自定义文件复制回自定义工作目录并提交。不用说,这是一个巨大的痛苦,并且会错过一些事情。

我的最终目标是为核心项目(不包括任何特殊的开发分支)提供一个工作目录,并为每个客户定制一个项目。开发人员将拥有一个解决方案文件,其中包含这两个项目,他们可以对其中任何一个进行更改,并且提交将转到正确的存储库。

现在,我可以设置一个看起来像这样的多项目解决方案,但在功能上我不知道该怎么做。如何运行核心项目并使所有自定义文件可用?我们如何部署到测试或生产服务器?我们如何处理像 web 配置这样仅部分定制的东西(例如连接字符串)?

如果有人从事过这样的工作,或者对我们如何建立这样的项目有想法,将不胜感激。

4

1 回答 1

0

好的,我的工作场所以前遇到过同样的问题。我们最终使用了分支。

假设您在一个目录(主目录)中有 2 个项目,现在您有另一个客户进来。

只需将此目录 (main) 分支到另一个目录 (clientA)。现在在目录 clientA 中,您应该有 2 个项目。像往常一样进行日常开发,但只需将核心项目中的更改合并到主分支。

---Main
   ----Core
   ----CustomisedSkeleton

---ClientA (branch)
   ----Core  (do merge back later)
   ----ClientACustomised (client based code, do not do any merge in)

另外,由于您的工作是 Web 应用程序,您需要更新每个分支的 Web 项目文件,以使其绑定到本地 IIS 上的不同 URL。

假设主 web 应用程序的 url 是“ http://yourmachine.com/main/login.aspx ”,而您自定义分支的 web 应用程序 url 是“ http://yourmachine.com/clientA/login.aspx

于 2013-08-10T10:53:50.697 回答