【发布时间】:2017-12-05 13:32:52
【问题描述】:
我有一个 .net mvc 站点,该站点应该发布给许多不同的客户,因此会根据目标略有不同。
有什么方法可以设置核心项目结构,例如(简化):
- 观看次数
- 型号
- 控制器
- 资产
- bin
并在构建时与当前目标可能具有的任何变化进行合并。例如:
核心项目:
- 查看次数
- view1.cshtml
- view2.cshtml
(为简洁起见,删除了其余文件夹)
客户 1 目标:
- 查看次数
- view2.cshtml
- view3.cshtml
想要的合并结果:
- 查看次数
- view1.cshtml(来自核心项目)
- view2.cshtml(来自客户 1 目标)
- view3.cshtml(来自客户 1 目标)
同样的规则应该适用于控制器、二进制文件等。
【问题讨论】:
-
反对者,愿意发表评论吗?
-
为每个客户维护不同版本的应用程序听起来会导致各种各样的问题。为什么不拥有单一版本的应用程序并根据设置启用/禁用功能?
-
@David 这在一定程度上可行,但如果客户只想要几个与他相关的视图怎么办?我更愿意将这些视图保留在仅与该客户相关的项目中,并且仅在我针对该特定客户时交付它们,而不是使用功能切换。
-
如果你真的想做这样的事情,你应该将客户特定的功能作为核心系统的插件。我的两分钱。
-
支持实际问题:)
标签: c# asp.net-mvc