У меня возникла проблема с построением моего решения в VS2008. Как правило, он отлично компилируется в среде. Иногда он терпит неудачу:
/xxx_WEB/secure/CMSManagedTargetPage.aspx(1): error ASPPARSE: Circular
file references are not allowed.
Я перестраиваю и отлично работает.
Теперь, однако, я нахожусь в середине настройки системы CruiseControl.NET и тестирую свой проверочный код с помощью MSBuild, прежде чем интегрировать сборку в CC. Теперь, каждый раз, когда я 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\AspxHttpHandler.cs(82): inputFile = context.Server.MapPath( "~/secure/CMSManagedTargetPage.aspx" ); C:\dev2008\xxx\IWW.xxx.ASPNET\AspxHttpHandler.cs(83): virtualPath = "~/secure/CMSManagedTargetPage.aspx";
Мои ссылки на сборку также прекрасны (насколько я знаю). Мое веб-приложение находится в верхней части зависимостей, и ничто не ссылается на него, поэтому страница с ошибками не может вызвать циклическую ссылку. Конечно, сама страница может ссылаться на что-то вроде UserControl на том же сайте сборки/веб-сайта, но, как упоминалось ранее, поиск на CMSManagedTargetPage не дал никаких результатов, поэтому этого не происходит.
Изменение атрибута партии в файле web.config не повлияло на MSBuild.
Мне очень странно, что он "иногда" терпит неудачу в VS и всегда терпит неудачу в MSBuild. Мне не хватает какой-то тонкости?