私はウェブサイトプロジェクトとサポートクラスを保持するいくつかのプロジェクトを含むソリューションを持っています。各プロジェクトは、構成、データ、アイデンティティ、ビジネスオブジェクトなどの別々の基本機能を提供します。私がVS2008でソリューションを開くと、完全に構築されます。実行、デバッグ、およびコンパイルまたはJIT例外の発生はありません。このTFS自動ビルドエラーの原因を突き止めるにはどうすればよいですか?
TFS 2010で自動ビルド定義を生成すると、ビルドが実行され、すべてのサブプロジェクトが順番にコンパイルされます。エラーをトレースしようとしたドキュメントでは、これがウェブサイトプロジェクトに必要であることを示しているため、それらはすべて "Debug | Mixed Platforms"をターゲットにしています。ビルドログには、新しくコンパイルされたライブラリとサードパーティライブラリのすべてが\Binaries
ディレクトリとウェブサイト\bin
ディレクトリの両方にコピーされています。次に、ログの次の行は次のとおりです。
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler.exe -v /MySolution -p ..\MySolution\ -u -f -d -fixednames D:\TFS\b\308\Binaries\_PublishedWebsites\MySolution\
D:\TFS\b\308\Sources\MySolution\SomeFolder\SomePage.aspx.vb(15): error BC30456: 'MyProperty' is not a member of 'Some_UserControl_ForPage'. [D:\TFS\b\308\Sources\Solution Files\MySolution.sln]
Done Building Project "D:\TFS\b\308\Sources\Solution Files\MySolution.sln" (default targets) -- FAILED.
Build FAILED.
"D:\TFS\b\308\Sources\Solution Files\MySolution.sln" (default target) (1) ->
(MySolution target) ->
D:\TFS\b\308\Sources\MySolution\SomeFolder\SomePage.aspx.vb(15): error BC30456: 'MyProperty' is not a member of 'Some_UserControl_ForPage'. [D:\TFS\b\308\Sources\Solution Files\MySolution.sln]
問題のユーザーコントロールのプロパティは、「祖父母」の継承に属します。コントロール自体は、ビジネスオブジェクトライブラリのカスタムWebUserControlを継承します。そのクラスは、この基本的なプロパティを持つあまり具体的でないWebUserControlから継承します。コード行がコメントアウトされると、エラーは変更されますが、それはビルドチェーンのさらに下で発生するもう1つの "不可能な"エラーです。
このビルドエージェントから自動的に構築され、他のすべてのフレームワーク2.0+で他のWebサイトプロジェクトが正常にビルドされています。ビルド定義(workspaceなど)のさまざまなプロパティを変更したり、ソリューション自体のビルド構成を調整したりすると、動作に変化はありません。ビルドが完了すると、正常にビルドされたプロジェクトはすべてビルドフォルダに格納されます。さらに、このソリューションには、それほど複雑でない2番目のWebサイトプロジェクトが含まれており、ビルドフォルダの_PublishedWebsitesフォルダに正常にビルドされて終了します。