3

Telerikアセンブリを参照した解決策があります。参照されているバージョンがビルドサーバーにインストールされています。問題は、ソリューションとビルドサーバーでTelerikアセンブリをアップグレードするまで、継続的インテグレーションビルドが常に成功することです。ビルドが失敗し、クラシックが表示されます。

この参照を解決できませんでした。

ソリューションを確認したところ、すべてが特定のバージョンを参照するように設定されています。最も驚くべきことは、ビルドサーバーでローカルにソリューションを開くと、すべてが問題なくビルドされることです...つまり、Telerikアセンブリが何らかの形で公開されていますが、理由は不明ですが、MSBuildが呼び出されてソリューションがコンパイルされます。ビルドサービスを通じて、それは機能しません。

何か案は?

4

3 に答える 3

7

Q3リリースにアップデートした後も同じ問題が発生しました。

これを解決するために、Logging VerbosityをDiagnosticに設定してソリューションを構築しましたが、MSBuildがTelerikフォルダーを探す必要がないことがわかりました。

そのため、そのフォルダーをビルドに含めるには、MSBuild引数を追加して追加しました:/ p:ReferencePath = "C:\ Program Files \ Telerik \ RadControls for WPF Q3 2012 \ Binaries \ WPF40"

これはおそらく最善ではなく、RadControlsを更新するたびに更新する必要がありますが、機能します。

ビルドサーバーはx86インストールで実行されるため、TelerikはC:\ Program Filesの下にありますが、x64で実行する場合は、C:\ Program Files(x86)の下にあるため、両方のx64で複数のビルドサーバーを実行する場合およびx86のインストールでは、両方のパスを指定する必要があります。

于 2012-10-22T12:13:41.757 に答える
0

削除してから、更新されたdllへの参照を追加してみてください。参照されているアセンブリとの違いがあるかどうかをprojファイルで確認できます。

msbuild(/ v:diagコマンドラインキー)のverbose \ diagモードを有効にし、ビルドログを確認します。診断モードには、参照ライブラリ検索プロセスに関する非常に詳細な出力があります。

于 2012-10-09T13:19:58.680 に答える
0

通常、参照されているアセンブリをソリューションにコピーして、そこから参照する方がよいと思います。そうすれば、ビルドサーバーや他の開発者は、その特定のバージョンのインストールについて心配する必要がなくなり、コンポーネントの異なるバージョンを実行する複数のプロジェクトをサポートできます。

于 2012-10-09T21:58:24.293 に答える