9

尝试使用 aspnet_compiler 发布后出现以下错误

errorASPPARSE: Circular file references are not allowed.
errorASPPARSE: Unknown server tag 'uc2:FAQ'.
errorASPPARSE: Could not load type 'CompoundControls.BBar'.
errorASPPARSE: Could not load type 'CompoundControls.PPIndicator'.
errorASPPARSE: Unknown server tag 'm:Calendar'.
errorASPPARSE: Could not load type 'SharedUserControls.VCDetails'.
errorASPPARSE: Could not load type 'SharedUserControls.VPDetails'.
errorASPPARSE: Could not load type 'SharedUserControls.VPrDetails'.
errorASPPARSE: Could not load type '.PopupPaymentCardCCVHelp'.     

任何想法如何解决它们

4

1 回答 1

1

有几个原因会导致您Circular file references are not allowed出错。

如果不查看项目的结构或代码,很难确定确切的原因。

但是,如果我要进行有根据的猜测,我会这样做:

  • 查看下一个错误:Unknown server tag 'uc2:FAQ'.,似乎无法编译该用户控件。
  • 这个用户控件也很可能是这里的争论点。其余的是UserControl未编译的结果。
  • 如果是这样,则检查用户控件中对母版页/任何其他页面的任何引用(类似于<%@ Reference Control="~/app.master" %>ascx 文件中的内容)。

此外,当您在不知不觉中陷入这种情况(通过批处理)时,会发生用户控件的不那么明显的循环引用问题:

PageA.aspx -> uc1.ascx -> PageB.aspx (batching) -> uc1.ascx -> PageA.aspx (batching)

如果这是可能的原因,请尝试batch=false在您的配置中进行设置:

<configuration>
  <system.web>
    <!-- should prevent errorASPPARSE: Circular file references are not allowed -->
    <compilation batch="false" />
  </system.web>
</configuration>

希望这可以帮助。

于 2011-08-23T16:05:02.803 回答