C# 讓你解決方案亂七八糟的DLL放入指定文件夾


嗯,大家的解決方案可能會有許多dll,這樣不美觀,而且也麻煩。

很多小白都不知道如何將這些dll放到如自己程序的bin文件夾下。

本渣今天來試着將dll復制到指定的文件夾下~

 

比如我之前做的一個Winform使用WebKit內核。然后webkit的dll和文件夾就一大堆全堆積在debug目錄下。

 

 

 這也太亂了吧!!!!!

於是我們便打算將這些文件塞入一個叫bin的文件夾內。

只讓我的winform程序能被用戶一眼看到,讓其他麻煩的dll藏在bin就好了owo。

第一步:在程序內新建App.config文件,如果有就跳過

第二步:打開

 

 

 然后加入這段代碼

 

 

 這段代碼的PrvatPatch所指的是你的dll托管目錄

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

PrivatePath="xxx"可以指定多個文件夾,比如這樣寫

PrivatePath="233;666;555"這相當於指定233文件夾、666文件夾、555文件夾均是你的dll文件夾。

也可以這樣:PrivatePath="2333/4444"相當於指定2333文件夾下的4444文件夾為你的托管目錄。

然后在和你應用程序同級目錄(xxxx.config)下新建你指定的文件夾的名字~

嗯,弄完后把你所需要托管的dll都扔到這個文件夾里awa。

別着急,我們還有最后一步~

 

 把你所有引用的DLL,包括NuGet的dll。除了系統以外的dll。

把這些引用屬性里的"復制本地"按鈕 給改成False。

這樣程序就不會去復制dll到調試目錄下而會老老實實地搜你指定給它的文件夾里有沒有這些dll。

如果有,那就直接調用。如果沒有,會拋出沒找到文件的異常,這時你需要排查有沒有放這個文件,文件名字對不對。

好了,本期教程到此結束~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM