我为大家准备了一个有趣的项目布局问题。我真的不确定如何处理这个问题,所以我希望这里有人有一个好主意。
基本上,我有一个 Web 应用程序,在大多数情况下,每个客户都是相同的(配置文件除外)。每个客户都有一些不同的文件(javascript、css、sql 片段),并且使用我们现在的设置来管理所有这些文件有点麻烦。
目前,我们在 SVN 存储库中拥有所有这些自定义文件,当有人来进行更改时,他们首先检查核心项目(由页面、C# 类、javascript 文件、全局样式、图像等组成的 Web 窗体应用程序)进入一个新的工作目录,然后检出自定义文件并将它们导出到核心项目的工作目录中。一旦他们完成更改,他们将提交核心项目中发生的任何更改(错误修复、其他客户想要的更改/功能),然后将自定义文件复制回自定义工作目录并提交。不用说,这是一个巨大的痛苦,并且会错过一些事情。
我的最终目标是为核心项目(不包括任何特殊的开发分支)提供一个工作目录,并为每个客户定制一个项目。开发人员将拥有一个解决方案文件,其中包含这两个项目,他们可以对其中任何一个进行更改,并且提交将转到正确的存储库。
现在,我可以设置一个看起来像这样的多项目解决方案,但在功能上我不知道该怎么做。如何运行核心项目并使所有自定义文件可用?我们如何部署到测试或生产服务器?我们如何处理像 web 配置这样仅部分定制的东西(例如连接字符串)?
如果有人从事过这样的工作,或者对我们如何建立这样的项目有想法,将不胜感激。