【发布时间】:2013-02-23 21:26:06
【问题描述】:
我们正在研究预编译我们的网站以缩短网站启动时间的可行性。我们试图避免的是当用户访问该站点时对csc.exe 的任何调用。当 csc.exe 运行时,IIS 不会为任何额外的 HTTP 请求提供服务。这限制了我们向网站发布新二进制文件的频率和速度,因为部署代码和预热我们场中的每个 Web 服务器需要数小时。
我有 aspnet_compiler.exe 在可更新模式下编译站点(即使用 -u 标志),但经过测试,看起来 IIS 仍在调用 csc.exe 来编译控件/页面。
> aspnet_compiler -v / -p F:\Projects\Website\webroot -u F:\BuildOutput\Website
所以,我尝试不使用 -u 标志,但现在出现编译错误:
> aspnet_compiler -v / -p F:\Projects\Website\webroot F:\BuildOutput\Website
/Tool/Controls/ToolCustomDateRangePicker.ascx(8): error ASPPARSE: Unknown server
tag 'SharedControls:DateRangePicker'.
当我打开/Tool/Controls/ToolCustomDateRantPicker.ascx 时,它正确引用了SharedControls:DateRangePicker:
<%@ Register TagPrefix="SharedControls" TagName="DateRangePicker"
Src="../../common/Controls/DateRangePicker.ascx" %>
什么给了? 为什么aspnet_compiler 可以在我的网站可更新时正确编译我的网站,但在编译时却失败了,所以它不可更新?
【问题讨论】: