【发布时间】:2021-01-09 13:15:05
【问题描述】:
我的 ASP.NET MVC 项目具有不同的外观(不是主题 - 而是完全不同的外观)。我的客户可以选择他们想要的外观和感觉,我会发布它。
到目前为止,我将每种外观和感觉分成不同的项目,它们共享相同的代码。现在,外观和感觉的数量急剧增加。有超过 30 种不同的“外观和感觉”选项可供选择。是的,我有 30 个不同的项目,所有代码都完全相同(包括 javascript),除了 View (cshtml) 和 css 文件。
是否有一种简单的方法来仅发布特定视图?例如,我有以下视图选项:
- 现代
- 当代
- 经典
- 独特
- 仙女座
如果我的客户问我他们想使用现代“外观”,那么我将打开“现代项目”并将其发布到他们的 Azure 服务器。
知道如何只使用 1 个项目并使用“条件发布”之类的东西吗?
谢谢...
【问题讨论】:
-
可以使用条件编译。
-
Hi Anup,如何使用条件编译排除某些视图?
-
您可以针对不同的编译配置有选择地排除文件甚至整个项目。但在我回答之前,您能告诉我您打算如何保留文件和文件夹吗?视图的文件夹结构如何?
-
为什么不将各个视图合并到一个视图中并根据环境变量控制它们。例如,项目 1 - 视图 1 项目 2 - 视图 1,您只能制作一个项目主项目 - 视图 1,其中您有 If(Modern){ View 1 Code } else if(Contemporary) {view 2 code} 并且您可以从环境变量中读取您要加载的主题。如果您的客户说更改主题,那么只需更改变量值。
-
@Ingale88s,我喜欢你的想法...添加为答案,我会接受...谢谢! Anup,因为我还没有将它们放入 1 个项目中,所以我对文件结构非常灵活。但我认为 Ingale88s 提供了一个完美的解决方案。
标签: c# asp.net-mvc-4 razor