我正在尝试为我们的 MVC5.1 应用程序预编译视图以提高首次加载性能(有关更多上下文,请参阅此问题)。
我正在玩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 来接它?