3

私はこれに関する答えを求めてインターネットを精査してきましたが、本当に助けを借りることができました.

このエラーに関する他の投稿を既に見ましたが、それらの回答はどれも役に立ちませんでした。

完全なエラーは、

タイプ 'xxx' は、参照されていないアセンブリで定義されています。アセンブリ 'xxx、Version=0.0.0.0、Culture=neutral、PublicKeyToken=null' への参照を追加する必要があります。

ソリューションはローカルで正常にビルドされますが、ビルド サーバーでビルドをトリガーするとエラーが発生します。

これを解決するためにこれまでに行ったことは次のとおりです。

  • すべてのプロジェクト参照が正しいことを確認しました (アーキテクトにレビューしてもらいました)
  • 「SpecificVersion」プロパティを true に変更しました
  • 参照を削除して追加し直しました(VS2012で.csprojファイル自体を編集しました)
  • ビルド サーバー上でローカルにソリューションをビルドすると、パスします。
  • 編集- 2 つの異なるビルド サーバーでこのソリューションをビルドしたにもかかわらず、同じエラーが発生することにも言及する必要があります。

これを行うためにVS2012とTFS2012を使用しています。

助けていただければ幸いです、ありがとう。

*更新: * ビルド サーバーで MSBuild を実行しましたが、構成を "Release" に変更し、エラーの一部を再現することができました。ただし、いくつかの重要な違いは、探しているバージョンが 0.0.0.0 ではなく突然 1.3.1.15 になり、PublicKeyToken が null ではなくなったことです。これが何を意味するか知っている人はいますか?アセンブリのバージョンは 0.0.0.0 であるはずです。

4

2 に答える 2

0

テストサーバーでソリューションを構築しようとしたとおっしゃいました。Visual Studio 2012 を使用してソリューションをビルドしましたか、それとも実際に msbuild を実行しましたか?

正確なテストは、次のような msbuild を使用することです。

MSBuild MySolution.sln /p:Configuration="Debug" /p:Platform="CPU Any"

実際には、TFS ビルドのビルド ログを調べることで正確なコマンドを取得できます。実行したビルド コマンドが一覧表示され、自分で実行するだけです (TFS ビルドがログに追加する余分なものを削除する必要があります)。

その後、ローカル マシンで同じコマンドを実行して、成功するかどうかを確認できます。

もう 1 つの試みは、プロジェクト内のすべてのアセンブリに対して「ローカルにコピー」を設定することです。

お役に立てれば!

于 2013-06-22T03:46:07.570 に答える