不使用aspnet_compiler.exe的-u选项时的副作用

时间:2013-03-19 19:28:31

标签: asp.net compiler-construction

以下是MSDN指令,但不确定它的含义:

-u

  

指定Aspnet_compiler.exe应创建预编译   允许后续更新内容(如.aspx)的应用程序   页面。如果省略此选项,则生成的应用程序包含   仅编译文件,无法在部署服务器上更新。   您只能通过更改源标记来更新应用程序   文件和重新编译。必须包含targetDir参数。

任何人都可以帮我解释一下。

1 个答案:

答案 0 :(得分:2)

如果指定-u,页面和控件(aspx / ascx)的标记将保持不变,并且将及时编译(例如,首次访问时)。这允许您直接在部署服务器上编辑标记(无需重建/发布解决方案)。

如果未指定-u,则会编译标记,并使用空的占位符文件替换页面/控件。如果需要更改标记,则必须在开发服务器上执行此操作,然后重新构建/发布解决方案。

This page解释了aspnet_compiler.exe的所有选项。


BTW:文档的这一部分对于决定是否使用-u非常重要:

  

使用[-u选项]时,.aspx文件中的代码块(即代码   位于脚本元素中或位于<%和%>之间标签)不是   编译。因此,如果这些代码块中存在编译错误,   您将仅在运行时看到错误,因为.aspx文件是   完全编译然后。使用此选项通常是不安全的   对于依赖.aspx文件中的代码块的站点。