我已在app start中注册了PrecompilecMvcEngine以预编译我的剃刀视图。构建包正确地排除〜/ Views /目录中的所有.cshtml文件,但如果目录中存在视图,它继续使用.cshtml文件,无论它是否编译。
例如,如果在部署目录中存在,则始终使用视图〜/ Shared / Layout.cshtml。
如何确保物理视图从不使用?
我有以下代码:
[assembly: WebActivatorEx.PostApplicationStartMethod(typeof(SomeBaseNamespace.Views.RazorGeneratorMvcStart), "Start")]
namespace SomeBaseNamespace.Views
{
public static class RazorGeneratorMvcStart
{
public static void Start()
{
var engine = new PrecompiledMvcEngine(typeof(RazorGeneratorMvcStart).Assembly)
{
UsePhysicalViewsIfNewer = false // I would expect this to prevent the engine from using physical views.
};
ViewEngines.Engines.Insert(0, engine);
}
}
}