Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 不允许循环文件引用_Visual Studio 2008_Msbuild_Aspnet Compiler - Fatal编程技术网

Visual studio 2008 不允许循环文件引用

Visual studio 2008 不允许循环文件引用,visual-studio-2008,msbuild,aspnet-compiler,Visual Studio 2008,Msbuild,Aspnet Compiler,我在VS2008中构建解决方案时遇到问题。通常,它在环境中编译得很好。有时,它在以下方面失败: /xxx_WEB/secure/CMSManagedTargetPage.aspx(1): error ASPPARSE: Circular file references are not allowed. 我重建了,效果很好 现在,我正在建立CraceSeCalp.NET系统,并在将构建集成到CC之前,用MSBuy测试签出的代码。现在,每次我创建MSBuild时,我都会得到: "Q:\cc\xxx

我在VS2008中构建解决方案时遇到问题。通常,它在环境中编译得很好。有时,它在以下方面失败:

/xxx_WEB/secure/CMSManagedTargetPage.aspx(1): error ASPPARSE: Circular
file references are not allowed.
我重建了,效果很好

现在,我正在建立CraceSeCalp.NET系统,并在将构建集成到CC之前,用MSBuy测试签出的代码。现在,每次我创建MSBuild时,我都会得到:

"Q:\cc\xxx\checked out from svn\xxx.sln" (default target) (1) ->
(xxx_WEB target) ->
  /xxx_WEB/secure/CMSManagedTargetPage.aspx(1): error ASPPARSE: Circular
file references are not allowed.
问题是,我看不出这个参考文献在哪里

  • 我搜索了整个解决方案中的引用,除了在页面或其代码隐藏中或在字符串中之外,找不到对页面本身(CMSManagedTargetPage)的引用,例如:

    C:\dev2008\xxx\IWW.xxx.ASPNET\aspxhtphandler.cs(82):inputFile=context.Server.MapPath(“~/secure/CMSManagedTargetPage.aspx”); C:\dev2008\xxx\IWW.xxx.ASPNET\aspxhtphandler.cs(83):virtualPath=“~/secure/CMSManagedTargetPage.aspx”

我的程序集引用也很好(据我所知)。我的Web应用程序位于依赖项的“顶部”,没有任何内容引用它,因此出错的页面不会导致循环引用。当然,页面本身可能引用同一程序集/网站中的某个用户控件,但如前所述,在CMSManagedTargetPage上的搜索没有结果,因此不会发生这种情况

更改web.config中的批处理属性对MSBuild没有影响


我觉得很奇怪,它“有时”在VS中失败,而在MSBuild中总是失败。我是否遗漏了一些微妙之处?

当我遇到同样的问题时,我偶然发现了你的帖子。循环引用问题可能有一百万种解决方案,但我的解决方案是母版页的直接结果

我意外地在嵌套文件夹外使用嵌套母版页创建了一个页面。 例如:


当Page.aspx引用Master2.Master作为其母版页时,它将正常生成,并且在我“发布”时出错。

对我来说,它也在母版页上注册了aspx页

例如(在母版页中):


...
然后在aspx页面中:

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" 
    CodeFile="MyPage.aspx.cs" Inherits="MyPage" Title="Untitled Page" %>
<asp:Content ID="SomeContent" ContentPlaceHolderID="MyPage" Runat="Server">


删除注册表修复了它。

我也遇到了这个问题,通过选择“使用固定命名和单页程序集”在Visual Studio中成功发布。出于某种原因,这似乎避免了编译器认为存在循环引用的想法

如果母版页中包含用户控件(ASCX),我会体验这种行为


通常我会忽略这个错误,因为它在第二次构建之后就消失了。

这个错误仍然存在于ASP.NET 4.0中

我得到的错误是:

/DirA/PageA.aspx(3): error ASPPARSE: Circular file references are not allowed.
/DirA/PageA.aspx(71): error ASPPARSE: Unknown server tag 'Controls:ControlA'.

ControlA与PageA.aspx(3)中引用的控件相同。我发现我必须将ControlA移动到与PageA相同的目录中才能停止此错误。

我发现在Visual Studio批量编译页面时出现此错误。我可以通过在web.config中的compilation元素上设置batch=“false”来解决这个问题

更具体地说,我在目录中添加了一个web.config,其中包含有问题的页面。该web.config文件仅包含以下内容:

<?xml version="1.0"?>

<configuration>
  <system.web>
    <!-- Added to prevent error ASPPARSE: Circular file references are not allowed. -->
    <compilation batch="false" />
  </system.web>
</configuration>

这样,VisualStudio/MSBuild仍然可以根据需要批量编译其他未受影响的目录

有关编译元素和批处理属性的详细信息可用。

从以下位置重新发布:

如果您具有以下设置: /folder1/Control1.ascx>引用Control2 /folder2/Control2.ascx>参考Control3 /folder1/Control3.ascx 这意味着folder1 dll将引用folder2 dll,后者将再次引用folder1 dll,从而导致“循环文件引用”



这帮了我今天的忙;我在根目录中有一个母版页引用了文件夹中的母版页,该母版页引用了根目录中的另一个页面。洗牌哪些页面在哪些文件夹中就像一个符咒。

对我来说,这些技巧不起作用

-设置批处理=true -删除asp.net临时文件和IIS重置 -替换可疑的ascx文件


问题是在我的解决方案中引用了一个最近添加的项目,并在最终构建后将其卸载。删除对这个新添加库的引用解决了这个问题

在一次重大的开发大修中,我也遇到了同样的错误。在我的特殊情况下,这是因为我使用了一个“垃圾”文件夹,在其中拖放未使用或重命名的文件。我的垃圾文件夹正在编译,我最近删除的一个文件导致了这个问题


我通过排除垃圾邮件文件夹中的单个文件解决了这个问题。

我也遇到了类似的问题,并从@JBicford的回答中得到了一条线索。我在网站的根目录上使用Default.aspx,在另一个文件夹中使用Master.Master。不知道这是否会导致这种情况,但尚未测试此解决方案

但对于有兴趣解决发布问题的人来说,下面的选项适用于VS 2012,所有其他选项都会失败,因为对其他文件夹和页面的依赖不正确


我继承的一些代码也有同样的问题


我的问题是我在app_数据文件夹中有一个文件,但其中有一个MyControls名称空间。我最终将该文件移出app_数据文件夹,并创建了一个新文件夹“我的控件”

我有这个问题,但没有一个建议对我有效,我的可能是一个独特的例子,但只是为了防止其他人遇到同样的问题:

我的似乎与
循环引用
无关,实际上是由于我的构建输出。一段时间后,我在控件上放置了一个无法加载的断点,并收到一个通知,告诉我它不会被命中

更改项目属性解决方案配置设置以为
任何CPU构建
/DirA/PageA.aspx(3): error ASPPARSE: Circular file references are not allowed.
/DirA/PageA.aspx(71): error ASPPARSE: Unknown server tag 'Controls:ControlA'.
<?xml version="1.0"?>

<configuration>
  <system.web>
    <!-- Added to prevent error ASPPARSE: Circular file references are not allowed. -->
    <compilation batch="false" />
  </system.web>
</configuration>