避免编译整个asp.net项目?

时间:2009-12-03 10:42:24

标签: c# asp.net compilation

我正在开发基于.net CMS的API。

现在我用一些代码创建自己的类。

每当我上传我的课程时......重新编译或重新加载网站需要很长时间。

是否有可能阻止编译我没有触及但没有重新上传的其他基本类,只是新上传的?

谢谢。

1 个答案:

答案 0 :(得分:2)

.NET是编译语言,因此您无法“编译”某些类。但是,您可以在添加一些文件后预编译整个站点,这可以加速“冷启动”,因此不需要在首次访问时进行预编译。如果您在VS中使用“发布”工具,则可以添加在预发布位置调用预编译器的Post构建事件。首次访问时,您将始终体验更长的开始时间,您无法避免这种情况。至少我不知道怎么... 第二个选项是ngen.exe,它将从基于IL的.net托管代码创建本机映像,并减少启动时间(在第一次请求时,.net将看到此本机映像并执行它)。但是使用ngen.exe你会失去一些运行时优化,因为ngen必须“安全”,所以SSE和类似的优化是不可能的。建议使用ngen.exe执行性能分析,在某些情况下应用程序执行速度会更慢!