在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
嗯,大家的解决方案可能会有许多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。 如果有,那就直接调用。如果没有,会抛出没找到文件的异常,这时你需要排查有没有放这个文件,文件名字对不对。 好了,本期教程到此结束~ |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论