【问题标题】:How to manage split Web Application project如何管理拆分的 Web 应用程序项目
【发布时间】:2013-08-09 15:05:53
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: visual-studio-2010 webforms


    【解决方案1】:

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

    假设您在一个目录(主目录)中有 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)
    

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

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

    【讨论】:

    • 这听起来是一个很好的解决方案。我会把它展示给上级,看看他们怎么说。完成后会更新。感谢您的帮助。
    • @djstamp 怎么样?任何来自更高级别的反馈。
    • 我正在一个测试实例上实现这个解决方案,看看它是否有效,但到目前为止还不错。如果一切按计划进行,我会在工作日结束前将其标记为正确。
    猜你喜欢
    • 2011-09-16
    • 2017-02-04
    • 2010-09-27
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多