VSポストイベントの構築
-
21-08-2019 - |
質問
私は実施後のイベントの構築を行い、以下の行為を
- 相対パスのコピーをDLL出力(1ファイルはすべてのデバッグズ)
- 登録の出力DLLるGAC
こう。
解決
あなたが欲しいんん?
copy $(TargetPath) $(TargetDir)..\..\someFolder\myoutput.dll
regasm $(TargetPath)
(プロジェクトのプロパティの下にビルド後のステップのためにフィールドに入力)
他のヒント
「プロジェクトプロパティ - >ビルドの[イベント] - > [投稿イベントにコマンドラインを構築する:」に次のように入力します。
xcopy "$(TargetPath)" "target path" /Y && regasm "$(TargetPath)"
または(例えばcsproj)プロジェクトに次のコードを追加するファイル
<PropertyGroup>
<PostBuildEvent>xcopy "$(TargetPath)" "target path" /Y && regasm "$(TargetPath)"</PostBuildEvent>
</PropertyGroup>
周りに空白を含むパスの問題を回避するために、コマンド引数をコピー「」を追加することが推奨されていることに注意してください。また、複数のコマンドを使用して組み合わせることができることに注意してください&&
あなたは、コンパイルの一部としてこれを行うにはよろしいですか?あなたはそれを避けることができれば、私は解決策ではなく、GACでプロジェクト参照を使用することをお勧めします。ファイルをコピーすると、一つのことですが、GACに登録することはかなり煩わしいですし、あなたのコードがでコンパイルされた他の環境を検討する必要があります。あなたがビルドサーバーを使用している場合は、他の開発者のマシンのようなもの、およびテスト環境/サーバなどを構築します本当にあなたが継続的インテグレーションサーバのいくつかの並べ替えとNAntのようなものを使用する必要があります。
私は同じ問題に持っていたし、私はそれが動作するために少し苦労しました。
私の場合、私は周りの他の方法をやってみたかったのSDLは、私の出力フォルダにdllをコピーされます。
copy "$(SolutionDir)SDL\lib\x86\SDL.dll" "$(SolutionDir)$(Configuration)\"
なお、$(Configuration)
は、出力フォルダ(たとえば、デバッグまたはリリース)になります。
引用符が右手側は\
で終わるとき、明らかにあなたがそれらを必要とするものを私が行方不明でした。したがって、それは常にそれらを使用する方が安全かもしれません。
他の誰かに5分を保存するために願っています!
P.S。私は、Visual Studio 2010を使用
あなたはMSビルドを見てみたいことがあります。その私たちが仕事でここに使用します。
ステップ2の質問にも見える。以下
"C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\gacutil" /f /i $(TargetPath)
注意:この Windows SDK インストールする必要があります発展す。
関連問題に遭遇しました。ここでの答えが助けた(感謝!)。
私のシナリオでは、私は特定の場所に関連するDLLを持つために必要なMEF-依存アプリケーションをデバッグしていました。私は前にビルドを上書きして問題に遭遇したので、スクリプトに削除を追加する必要がありました。
delete $(SolutionDir)FileService\$(ProjectName).dll
copy $(TargetPath) $(SolutionDir)FileService\$(ProjectName).dll
あまりにも、誰かを助け願っています!