• c# winform程序调用托管dll(c#的dll),使用"添加引用"和动态加载dll


    1. dll要强名.

    2. winform程序要添加引用dll(自动获得dll的函数调用定义),"复制本地"属性设false,因为下一步会动态加载dll,所以"复制本地"属性设true也没有意义,反而在程序目录增加一个dll文件,混淆视听.

    3. winform程序增加配置文件app.config,内容如下:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <!--固定值urn:schemas-microsoft-com:asm.v1-->
          <dependentAssembly>
            <assemblyIdentity name="chengxuji"
                              publicKeyToken="ef1fe3591431fbcc"
                              />
                                <!--chengxuji程序集名,ef1fe3591431fbcc公钥标记(需强名,在GAC中注册后就有了)-->
            <codeBase version="1.0.0.0" href="1\\chengxuji.dll"/>
                                  <!--1.0.0.0版本要一致,..\\chengxuji.dll程序集目录(相对本程序运行目录)-->
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
    </configuration>

    这样就可以动态加载dll了,

    1.用了引用,不用自己定义dll函数说明.

    2.动态加载dll,可用相对目录,上级目录也可以,方便多系统共用同一个dll.即exe和dll不在同一目录.

     最近找到了一个更方便的做法,不需要强名和版本,这是网址http://www.cnblogs.com/heimark/archive/2010/10/14/1851032.html

  • 相关阅读:
    ProxySQL结构
    Kubernetes 零宕机滚动更新
    Promtail Pipeline 日志处理配置
    Fluentd 简明教程
    innodb_flush_log_at_trx_commit 和 sync_binlog 参数详 解
    AlertManager 何时报警
    ProxySQL 全局变量详解
    ProxySQL SQL 注入引擎
    ProxySQL SSL 配置
    ProxySQL 密码管理
  • 原文地址:https://www.cnblogs.com/heimark/p/1800494.html
Copyright © 2020-2023  润新知