构建我的(大型)MVC解决方案后,页面显示在浏览器中大约需要30-60秒(未连接调试器)。使用procmon,我发现在大多数情况下占用的是编译每个单独的剃刀文件。调用c#编译器时,会将所有项目引用传递给它,例如:
csc.exe /t:library /utf8output /R:"ReferenceOne.dll" /R:"ReferenceTwo.dll" /out:"App_Web_4ggvz4di.dll" /D:DEBUG /debug+ /optimize- /w:4 /nowarn /warnaserror- "\App_Web_4ggvz4di.0.cs" "App_Web_4ggvz4di.1.cs"
但是,它使用我的所有项目引用(总共超过300个),这导致每个razor文件的编译时间大约为4秒。如果我手动将此命令更改为只需要少量引用(大约10个),那么编译需要0.1秒。
有没有人对如何改善这种表现有任何想法?特别是如何明确告诉剃刀编译器需要哪些引用。