2017-11-22 2 views
0

プロジェクトA(Webアプリケーション)プロジェクトBに依存します(exeファイル) - 私はプロジェクトA.MSBuild - ビルドの設定やフレームワークに関係なく、ビルド後のキャプチャバイナリ?

のwwwrootのにプロジェクトAのbinからプロジェクトAのビルド後のイベントを使用してexeファイルをコピーする必要があり、私がコピーしたいですビルド構成やターゲットフレームワークを知らなくても、どこからでもバイナリを削除できます(bin/debugまたはbin/releaseまたはbin/debug/netcoreapp2.0など)。今、私はこれをやっている:ローカルで素晴らしい作品が、それはRelease構成で、どこかに作成されるとき、それは失敗し

copy /Y $(ProjectDir)bin\debug\netcoreapp2.0\app.exe $(ProjectDir)wwwroot\exe\app.exe 

を。私はいくつかのif/thenチェックを使うことができましたが、パスの$(ProjectDir)bin\debug\netcoreapp2.0チャンクを置き換えるマクロを持っているので、設定/フレームワークの知識がなくても必要なものをいつも得ています。

私は$(OutDir)$(TargetDir)を使用しようとしましたが、これらは運行なしでbinパスになりません。

どのマクロを使用しますか?

+0

オプションとして、OutDirプロパティを目的の場所に設定し、ビルド後の手順をすべてスキップできます。 g。 ' .. \ wwwroot \ exe \ 'のPropertyGroupには何も条件が設定されていません。 – kkm

答えて

2

$(TargetPath)は、実行可能ファイルの完全なパスにする必要があります。 $(TargetDir)の意味がわからない場合は、「非ビン」のパスを指定します。 実際にはC#質問BTWではありません。

+0

私は上記の 'copy/Y $(TargetPath)app.exe $(ProjectDir)wwwroot \ exe \ app.exe'と置き換えて' C:\ Users \ me \ source \ repos \ Appファイルを見つけることができませんでした\ wwwroot \ exe \ app.exe' - 理由は何ですか?私はバイナリがどこからでもコピーされるようにしようとしています* – SB2055

+0

"app.exe"は不要です。これは '$(TargetPath)'に含まれています。しかし、 '$(ProjectDir)wwwroot \ exe'のフォルダが' mkdir -p'と一緒に存在するようにする必要があります。 –

+0

EXEを指定する必要があります。プロジェクトA(Webアプリケーション)はプロジェクトB(exe)に依存しています。プロジェクトAのビルド後イベントをプロジェクトAの「bin」からプロジェクトAの「wwwroot」にコピーする必要があります。 – SB2055

関連する問題