ぐうたら備忘録

興味のあることぼちぼち書いていきます。

Visual Studio 2017 でビルド後のコマンドを指定する

ビルド後にファイルを指定の位置に移動させる

コマンドの設定画面は、
プロジェクト右クリック→プロパティ→ビルドイベント
から開くことができる。

今回は、ビルド後に、自作のプラグインのクラスライブラリ(.dll)を、
実行ファイル(.exe)が存在するフォルダのサブフォルダ「Plugins」に
自動的に移動させたいと思った。

そこで、以下のように設定した。
f:id:gootalife:20171026021857p:plain
ビルド後に、出力フォルダに移動して「Plugin」フォルダを作成して、
拡張子が.dllのファイルををすべて「Plugin」フォルダ配下に移動している。

これだけでは読み込んでくれない

サブフォルダのdllを参照するときにはconfigファイルにも変更が必要なようだ。
プロジェクトの「~.config」を開いて以下を追記

<configuration>
    <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <probing privatePath="Plugins"/>
      </assemblyBinding>
    </runtime>
</configuration>

これでサブフォルダ内の読み込みができるようになる

privatePath="Plugins"

の部分を変更することで読み込みたいフォルダを変更、追加できる。

結果

実行ファイルのあるフォルダがごちゃごちゃしなくてスッキリ!