ASP.NET上的.cshtml razor文件转换

Lud*_*hen 5 asp.net asp.net-mvc transform build razor

我正在尝试找到一种在构建项目时转换index.cshtml文件的方法.比如说:

<script src="app-dev.js"></script>
Run Code Online (Sandbox Code Playgroud)

在Build模式为Release:

<script src="app-prod.js></script>
Run Code Online (Sandbox Code Playgroud)

hut*_*oid 3

好的,这会起作用。

为其添加一个应用程序设置:

<add key="Environment" value="dev"/>
Run Code Online (Sandbox Code Playgroud)

然后在您的视图中添加以下内容:

<script src="app-@(System.Web.Configuration.WebConfigurationManager.AppSettings["Environment"]).js></script>
Run Code Online (Sandbox Code Playgroud)

在您的其他环境中,只需使用转换来替换它,即

<appSettings>       
    <add key="Environment" value="prod" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)

另一种方法(我认为更好的方法)是将WebConfiguration管理器抽象为接口,并将应用程序设置设置在模型中。

如果它处于通用布局中并且每次都进行设置,则可以创建一个基本模型并将其设置在OnActionExecuted基本控制器中。