2

Visual Studio2008Web展開プロジェクトチームビルドASPPARSEエラー

私はよくある問題を抱えているようです。現れているが明確な解決策がないもの。

Visual Studio 2008プロジェクト構造には、クラスライブラリ、Webアプリケーションプロジェクト、および最近追加されたWeb展開プロジェクトであるいくつかのプロジェクトが含まれています。MVCセットアップでこの問題について聞いたことがあります。また、私が見たソリューションは、MVCが使用されていることを前提としています。

IDEからビルドが正しく機能することを確認しました。単一のアセンブリのマージの結果として生成されるアセンブリの名前を除いて、Web配置プロジェクトのデフォルトを変更していません。

ソリューションが「リリース」用にビルドされた場合にのみ、Webデプロイメントプロジェクトをビルドするようにソリューションを設定しました。このコードブランチと開発ブランチのコードを取得するカスタムビルドスクリプトがあります。ビルドスクリプトは、このコードのリリースバージョンと開発ブランチのデバッグバージョンを正しくビルドします。

問題は、リリースバージョンをビルドするときに発生します。Webデプロイメントプロジェクトを除いて、すべてのプロジェクトが正常にビルドされます。このプロジェクトをビルドするときにTFSビルドエラーが発生し、次のエラーが発生します。

/xx.csproj/global.asax(1): error ASPPARSE: Could not load type 'xxx.xx.Global'.

xx.csprojはWebアプリケーションプロジェクトであり、「xxx.xx.Global」はクラスの背後にあるGlobal.asaxコードです。

私の読書から、TFSビルドにコピーの問題があるようです。ここでMVCに関するいくつかの回答を読みました。これはMVCセットアップではありませんが、同様の問題であると思います。コピーコードをどこに置くべきかわかりません。TFSBuild.projファイルのAfterBuildターゲットにいくつかの提案されたコードを配置しようとしましたが、コードがこのエラーを変更しなかったことがわかりました。

<!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
       Other similar extension points exist, see Microsoft.WebDeployment.targets.
  <Target Name="BeforeBuild">
  </Target>
  <Target Name="BeforeMerge">
  </Target>
  <Target Name="AfterMerge">
  </Target>
  <Target Name="AfterBuild">
  </Target>
  -->

上記のコードは、コメントアウトされたプロジェクトファイルに表示されます。私の考えでは、「BeforeMerge」ターゲットを使用すると、必要なバイナリをコピーできます。これを行うためのスクリプトの書き方がわかりません。私はTFSの本をいくつか調べましたが、どちらにもWeb展開プロジェクトに関する情報は含まれていません。(残念ながら、この問題に関してもMicrosoftから多くの情報を見つけることができないようです)。

MVCソリューションを参照するソリューションしか見たことがないので、AfterBuildターゲットで何かを行うことを検討したと言えます。上記のビルドスクリプトは、TSBuildスクリプトで試したdeploy_csprojから直接のものです。どちらの場所でもバイナリをコピーしようとすることに違いはありますか?

誰かが何が起こっているのか説明できますか?マージを実行するためにバイナリを正しいディレクトリにコピーするために、プロジェクトごとに個別のビルドスクリプトを作成する必要がありますか?

4

1 に答える 1

0

TFS TeamBuildがコンパイル出力を(各プロジェクトのbin \ Releaseではなく)単一のフォルダーにリダイレクトするという事実に焦点を当てた既知の問題にぶつかっていると思います。

この問題とその回避方法を説明しているAaronHallbergのブログのこの投稿の方向を示します。

http://blogs.msdn.com/aaronhallberg/archive/2007/07/02/team-build-and-web-deployment-projects.aspx

于 2010-02-26T17:59:44.913 に答える