【发布时间】:2014-08-27 15:07:20
【问题描述】:
我有一个通过 Visual Studio 的 Web 部署部署的 ASP.NET MVC 项目 - 到目前为止一切正常。
我现在需要部署同一项目的另一个版本(例如,为不同的客户)——具有相同的代码库/功能,但具有不同的布局,即其他 CSS 和图像(甚至可能具有不同的视图/Razor 代码)。理想情况下,其他配置的内容根本不会发布。
我知道我可以为持久层使用不同的连接字符串 - 但有没有办法配置其他内容元素?
我想避免使用需要分支/合并的两个版本(或更高版本)——而是想简单地部署具有不同“主题”的最新版本...
【问题讨论】:
-
您要求部署具有不同内容的相同代码库,但也要求部署不同的剃须刀页面。我相信 Razor 是一个代码库,而不是一个内容。
-
@Tengiz:你说得对,当然视图甚至 CSS 都是代码库的一部分,而不是真正的“内容”。内容本身存储在数据库中,可以轻松地与另一个连接字符串交换(使用 web.config 转换)。问题是:代码库的布局部分也可以交换吗...
-
@PeterAlbert:这似乎是一个设计问题。如果您预见到将来可能会发生这样的变化,并且您已经通过 DB 交换了内容,那么您应该考虑从数据库加载 css。当然还有很多其他方法可以做到这一点,但我更喜欢简单高效。
标签: asp.net deployment