VS2008 でソリューションを構築する際に問題が発生しています。通常、環境では問題なくコンパイルされます。場合によっては、次のエラーで失敗します。
/xxx_WEB/secure/CMSManagedTargetPage.aspx(1): error ASPPARSE: Circular
file references are not allowed.
私は再構築し、それは正常に動作します。
ただし、現在、CruiseControl.NET システムをセットアップしている最中で、ビルドを CC に統合する前に、チェックアウトしたコードを MSBuild でテストしています。これで、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";
私のアセンブリ参照も問題ありません(私の知る限り)。私の Web アプリケーションは依存関係の「最上位」にあり、それを参照するものは何もないため、障害のあるページが循環参照を引き起こすことはありません。もちろん、ページ自体が同じアセンブリ/Web サイト内の UserControl などを参照している可能性がありますが、前述のように、CMSManagedTargetPage を検索しても結果が得られなかったため、これは発生していません。
web.config でバッチ属性を変更しても、MSBuild には影響しませんでした。
VSで「時々」失敗し、MSBuildで常に失敗するのは非常に奇妙です。微妙なところがありませんか?