如何加快数百个用户控件的编译速度?
我正在一个具有数百个用户控件的网站上进行开发。调试 Web 应用程序时(在 Visual Studio 2008 中按 F5),编译并启动 Cassini 需要相当长的时间。我注意到每个用户控件都被编译为临时 asp.net 文件中的单独 dll,这需要相当多的时间。
是否有可能通过仅编译为一个 dll 来加速这一过程,并且仍然能够调试 Web 应用程序?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是来自文章:
为您的网站项目启用按需编译选项。要启用此功能,请右键单击您的网站项目并打开项目属性页面。单击左侧的“构建”选项卡以调出其构建设置。在“构建”选项卡设置页面中,将 F5 启动操作从“构建网站”更改为“构建页面”或“无构建”选项。然后确保取消选中“将网站作为解决方案的一部分构建”复选框:
您是否考虑过迁移到 Web 应用程序项目?这会将所有代码编译到一个 dll 中,但这可能是一个很大的变化。我会先尝试更改启动选项。
This is from the article:
http://weblogs.asp.net/scottgu/archive/2006/09/22/Tip_2F00_Trick_3A00_-Optimizing-ASP.NET-2.0-Web-Project-Build-Performance-with-VS-2005.aspx
Enable the on-demand compilation option for your web-site projects. To enable this, right-click on your web-site project and pull up the project properties page. Click the "Build" tab on the left to pull up its build settings. Within the "Build" tab settings page change the F5 Start Action from "Build Web Site" to either the "Build Page" or "No Build" option. Then make sure to uncheck the "Build Web site as part of solution" checkbox:
Have you considered moving to a web application project? That will compile all of your code into one dll, but this could be a big change. I would try changing the start options first.
这里的一些提示很有帮助(web.config中的batch =“false”并将临时文件移动到ram磁盘):
http://blog.lavablast.com/post/2010/12/01/Slash-your-ASPNET-compileload-time。 aspx
另外,考虑并行构建:
http://www.hanselman.com/blog/HackParallelMSBuildsFromWithinTheVisualStudioIDE.aspx
A few tips in here, which helped (batch="false" in web.config and moving the temp-files to a ram-disk):
http://blog.lavablast.com/post/2010/12/01/Slash-your-ASPNET-compileload-time.aspx
Also, consider building in parallel:
http://www.hanselman.com/blog/HackParallelMSBuildsFromWithinTheVisualStudioIDE.aspx