30
36

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

WPFで読み込むDLLたちを別フォルダにまとめる

Last updated at Posted at 2017-09-14

ライブラリをいくつか利用したりするとちょっとしたツールでもDLLが大量になってしまう。
PrismとReactivePropertyを使ってMVVMで軽く組もうとでも思うと、
大したことない労力のEXE1つに対してDLLが実に20個近く追加されてしまう。

こうなるとDLLに埋もれてEXEを探すのが大変・・・となってしまうので解決策を探してみました。

App.configのassemblyBindingタグ内にprobingタグを追加すればできるみたいです。

下記例はexeと同階層のbinフォルダにDLLを集約するイメージ

App.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <probing privatePath="bin" />
    </assemblyBinding>
  </runtime>
</configuration>

注意点としては「exe名 + .exe.config」のファイルは必ずEXEと同階層にいないと動かないので注意
(このConfigを見て、設定したフォルダ内のDLLを見に行くので当たり前に必要ですね)

勉強がてらにちょっとしたツールに大層なライブラリを突っ込むことをよくするので、これでスッキリEXEを叩くことができ、かつ気兼ねなく勉強もできます。

#参考元
DLLの配置場所を変更する(probing, codebase, developmentMode)

#こういうのもアリ
実行ファイルとDLLを一つにまとめる

30
36
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
36

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?