当我重建/构建我的ASP.NET网站时,我没有收到任何错误。 但是,当我发布网站时,它给了我一个'循环文件引用是不允许的'。错误。
我在网上看了一下这个,它提供了一个batch ='false'选项,我试过并且什么也没做。
该页面有一个母版页,可以调用同一个控件两次;但是,此控件不会引用任何内容
TY - Theo
答案 0 :(得分:5)
Theo,我也收到了很多次这个错误,这很烦人,即使我搜索了几年的圆形文件引用我也找不到。最后我决定虽然没有明确的循环文件引用,但是当我在父文件夹中引用控件时编译器不喜欢它,例如我在文件夹/ UserControls / Panels / ManagerPanels /中有一个控件,它引用文件夹/ UserControls / Panels /中的控件。这在编码时工作正常,但尝试发布或调试带来了循环文件引用问题。很抱歉,我找到的唯一解决方案是将引用控件移回一个文件夹到与它引用的控件相同的文件夹中,这解决了问题(尽管我非常沮丧,因为我喜欢我的控件的一个很好的文件夹结构,其中有很多)。希望这有帮助
答案 1 :(得分:2)
batch = false的原因不会解决任何问题,因为发布网站会对其进行预编译,因此批处理属性无关紧要。
您可以使用aspnet_compiler命令获取有关错误的更多详细信息。我认为这只有在您在IIS本地托管您的网站时才有效。
aspnet_compiler -v /
如果您的网站在端口80上运行,并且向您显示问题所在,则上述命令会在本地预编译您的网站。
答案 2 :(得分:1)
如果项目A和项目B在同一解决方案中,并且您将项目A中的引用添加到项目B,并且还将项目B中的引用添加到项目A,那么您将收到此错误。引用的工作方式类似于父\子关系,因此项目不能同时是另一个项目的父项和子项。
您需要找出循环引用的位置,并可能移动一些代码,甚至创建一个新项目以解决它。
答案 3 :(得分:0)
如果添加多个项目,则一个项目依赖另一个项目,这意味着检查您的引用。如果您给出循环形式,则意味着错误会出现