• 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。

    如果有,那就直接调用。如果没有,会抛出没找到文件的异常,这时你需要排查有没有放这个文件,文件名字对不对。

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

  • 相关阅读:
    【转】kafka&zookeeper集群搭建指南
    spark-streaming问题集锦
    Rokid开发者社区skill之【历史上的今天】
    jQuery+Ajax获取百度百科历史上的今天
    python+xpath+requests爬取维基百科历史上的今天
    jQuery请求维基百科[历史上的今天]
    Redis和Memcached比较
    [转]RosBridge小结
    [转]使用rosbridge协议实现安卓跟ros的解耦
    跨域访问之jsonp
  • 原文地址:https://www.cnblogs.com/Dinnerbone/p/12044417.html
Copyright © 2020-2023  润新知