TFS 2013 中不允许循环文件引用 Dnn 7+

Circular file references are not allowed Dnn 7+ in TFS 2013

我将 DNN 7.3 用于网站项目,该项目结合了 VB 和 C# 代码。我使用 visual studio 2013 来构建项目。 如果 属性 页面中的 MSBuid 选项配置为允许更新此预编译站点并发布项目。 会有一次搭建成功。但是当它被签入到TFS时,会抛出如下异常:

 /compiled/DesktopModules/Admin/Security/manageusers.ascx (8): Circular file references are not allowed.
 /compiled/DesktopModules/Admin/Security/manageusers.ascx (67): Unknown server tag 'dnn:profile'.
 /compiled/DesktopModules/Admin/Security/EditUser.ascx (5): Circular file references are not allowed.
 /compiled/DesktopModules/Admin/Security/EditUser.ascx (163): Unknown server tag 'dnn:Profile'.
 /compiled/admin/Users/ViewProfile.ascx (4): Unknown server tag 'dnn:Profile'.

此外,当我选中使用固定命名和单页程序集以及允许更新此预编译站点时。它会抛出:

ASPNETCOMPILER: Object reference not set to an instance of an object.

当我在网上搜索时,我得到了 this blog 中的两个选项。

两种我都试过了,还是一样的错误。 我不知道我做错了什么。

请查看[此处] (http://ellisweb.net/2009/12/fixing-the-circular-file-references-are-not-allowed-error-in-asp-net/) 以了解为什么您会看到此错误的解释,简单地说,如果您有以下设置:

/folder1/Control1.ascx > References Control2
/folder2/Control2.ascx > References Control3
/folder1/Control3.ascx

这意味着 folder1 dll 将引用 folder2 dll,后者将再次引用 folder1 dll,从而导致“循环文件引用”。

解决办法是尝试重新排列每个文件夹下的所有控件,有时,您必须将有问题的用户控件复制到多个文件夹以防止这种循环调用。

我将 TFS 构建过程参数的清理工作区 属性 更改为 false。 错误刚刚消失,我能够成功构建到 TFS Drop 文件夹中。我不知道为什么这样可以解决问题,但问题已解决。