2011-03-14 8 views
0

VS2008/TFSビルド3.5/Ent Lib 4.1LINQ to SQLを追加するとTFSビルドが部分的に成功しました

私はいくつかのアプリを含むかなり大きなソリューションを持っています。彼らは現在、データアクセス層にEnterprise Library(v4.1)を使用しています。

LINQ to SQLを使用する新しいデータアクセスレイヤーを追加してローカルでテストしました。これはすばやく簡単に追加でき、テストはうまくいきました。しかし...

プロジェクトをチェックインするとビルドが完了しませんでした。私は「部分的に成功」しました。いくつかの警告がありますが、ビルドが失敗する前に、まったく同じ警告がそこにありました。

データアクセスクラスを(コードを呼び出すコードとともに)取り出して再構築し、うまく構築しました。

私は空の新しいクラスを追加し、そこに1つの変数を入れてコードから参照しました。それは作りました。私はその新しいプロジェクトで新しいLINQ to SQLクラスを作成し、それを参照しませんでした。それをチェックすると、「部分的に成功しました」というメッセージが表示され、ビルドに失敗しました。余分なエラーや警告はありません。

私はLINQ to SQLが大好きですが、私はこのシステムの外にあるいくつかのプロジェクトで使っていますが、これを成功させるために何時間も試してみることにしました。

+0

"このシステムの外にあるいくつかのプロジェクト"でlinqを使用したとしたら、ビルドサーバーによってビルドされたプロジェクトですか?ビルドサーバー上でフレームワークを更新する必要があるかもしれません。これがコーポレートの場合、Windows Updateを実行しないようにしてください。 – NotMe

+0

"部分的に成功"とは、ビルドが成功したが、ユニットテストの一部が失敗したことを意味します。失敗したものと失敗したものを確認します。 –

+0

また、 "linq"について話していますか? LINQ to SQL? –

答えて

1

[OK]を見つけました。問題は Visual Studio Setup and Deployment build fails with no errors

で他の場所でスタックオーバーフロー上での問題は、LINQのを使用するプロジェクトの行に当たると壊れるMSのセットアップとデプロイのバグです。それを機能させるには、プロジェクトの行をコメントアウトする必要があります。素晴らしい、ばかげた、そして驚きはありません。

入力いただきありがとうございます。それは私たちが最終的な答え(既にStackOverflowにありますが、タイトルにLinqはありませんでした)に役立つ入力でした。

1

ビルドサーバーに同じツール/ライブラリがすべてデスクトップにインストールされていますか?サーバーには同じvsまたは.netサービスパックのレベルはありません。ビルドサーバーでビルドを "手動で"実行してみてください - サーバー上のVisual Studioでソリューションをロードし、TFSビルドシステムではなくIDE内でビルドを実行してください。自動ビルド。

ビルドログを確認します。 Visual Studioでは、GUIエラーウィンドウで選択されていない出力ペインテキストまたはビルドサーバーログテキストにエラーが報告されることがよくあります。したがって、ビルドは成功したと考えられますが、出力ファイルは "静かに"生成されていません。 TFSのビルドログは通常は膨大なので、作業が苦労するので、「エラー」などのキーワードや、行単位で読み込むのではなく失敗したプロジェクトの名前を検索することから始めます。

+0

+1。何かが欠けているように私に聞こえる。最高の賭け:ログを見て、それはあなたに何が起こったかを正確に伝えるべきです。 2番目のベスト・ベット:tfsbuild資格情報を使用してビルド・サーバーにログインし、プロジェクトをロードしてビルドします。 – NotMe

+0

ビルドログはこれまで何度も私たちを助けてくれましたが、今度は詳細(35k行)に設定してもエラーはなく、同じ警告が表示されます。私は同じことを疑っています。おそらくlibsは同じではありません。私はアセンブリのフォルダを見て、それは同じように見えますが、私はそれよりも奇妙なものを見てきました。私はIDEから手動ビルドを試してみます - 入力のおかげで! –

+0

OK、少し進展しました。 AfterCompileターゲットがあり、私がTFSBuild.projからそれらをコメントアウトすると、コンパイルされ、成功します。 –

関連する問題