2016-06-30 14 views
0

私はプロジェクトがあります。 VSからビルドすると完全にビルドされます。私が使ってWiXのプロジェクトで 、それはパスのセットアップニーズコンポーネントDLL =ソースである「.... \デバッグ\ MYDLL.DLL」Visual StudioのビルドとMSBuildの比較 - ファイルが見つかりません

しかし、私はこれをコンパイルしようビルドマシンを使用すると、ファイルが別の場所(binフォルダ)にbinplacedされているため、「システムがファイルを見つけることができません」というエラーが表示されて失敗します。

VS(ビルドマシン)とビルドマシンでビルドすることができます。この違いをどうやって解決できますか?

答えて

2

パスを直接指定する代わりにproject referenceを使用できます。あなたはWIXプロジェクトからDLLプロジェクトを参照することができます。の代わりに$(var.MyDll.TargetPath)

+0

vsからビルドを実行したときと、msbuildをtfsで実行したときに、どうやってその引数を渡すことができますか? – Dafna

+0

こんにちは、それは議論ではありません。それはプロジェクト参照です。それは "参照を追加.."です。ドキュメントを参照してください。この機能は、問題に対処するために特別に設計されています。ちょうどそれを使用します。 – Nikolay

+0

私はこれがプロジェクトの参考資料だと思います。私の質問は、どのように$(var.mydll.targetPath)を設定するのですか?これには、VSとTFSからのmsbuildの別の値が含まれている必要があります – Dafna

0

を使用してください。上記の情報から、プロジェクトの出力パスはデバッグモードとリリースモードで異なると思います。そのため、デバッグビルド時には "debug \ mydll.dll"に、リリースモードでは別のフォルダに移動します。

  1. プロジェクトファイルを右クリックし、プロパティをクリックします。
  2. デバッグモードとリリースモードの両方で出力パスを同じフォルダに編集します。
  3. WIXファイル(.wxs)を更新し、このフォルダからdllソースを指定します。

この後、ビルドはローカルとサーバーの両方で正常に動作するはずです。

関連する問題