我正在尝试为MVC5.1应用程序预编译视图,以提高首次加载性能(有关更多上下文,请参阅this question)。
我正在玩aspnet_compiler.exe
:
aspnet_compiler -p d:/path/to/myapp/ -v myapp
我可以肯定地看到正在进行的编译 - 关于Obsolete
方法使用的警告。但它把结果放在哪里?
在实验之前,我已清理Temporary Asp.Net Files
,只是为了查看结果。编译结束后,什么都没发生。 c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\
和c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\
都仍为空。
我也尝试使用虚拟路径的精确路径执行
aspnet_compiler -p d:/path/to/myapp/ -v d:/tmp/myapp
该文件夹为空。但是编译器的第二次运行要快得多,因为我没有清理构建。这让我觉得结果可以在某处获得。
所以我的问题是:它在哪里存储编译结果? 如何让IIS使用这些结果而不是实时编译?
更新:我找到了如何捕获编译的输出。只需将路径指定为最后(或第一个)参数:
aspnet_compiler -p d:/path/to/myapp/ -v / d:/tmp/myapp
这就留下了一个问题,我怎样才能让IIS拿起它?