假设我们有几个开发人员在ASP服务器上工作。有时页面会导致编译错误(但它是站点范围的)。如果我们中的一个人在吃午饭之前点击保存,而其他人无法在自己的 aspx 页面上工作,这尤其烦人。
是否只允许特定于页面的编译,或者 w3c 服务的性质是否允许所有程序集都必须编译(应用程序范围)?
您已启用预编译。如果您将其关闭,则页面只会在第一次请求时被解析和编译,我想这就是您想要的!
预编译由 AspNetCompiler 完成。如果这不是由自定义生成过程触发的,则它可能位于 .csproj 文件中。它的确切外观可能因项目类型而异。
以下是它在 MVC 3.0 Web 角色中的外观:
<!-- no precompilation here! -->
<MvcBuildViews>false</MvcBuildViews>
<!-- here's the setup for AspNetCompiler...-->
<Target Name="MvcBuildViews" AfterTargets="AfterBuild"
Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
</Target>
有关 AspNetCompiler 的更多信息:http://msdn.microsoft.com/en-us/library/ms164291.aspx
通常,预编译默认处于关闭状态。如果您实际上想要全面检查所有视图的代码,此设置也很有用。