c# winform程序调用托管dll(c#的dll),使用添加引用和动态加载dll
1. dll要強名.
2. winform程序要添加引用dll(自動獲得dll的函數(shù)調(diào)用定義),"復(fù)制本地"屬性設(shè)false,因為下一步會動態(tài)加載dll,所以"復(fù)制本地"屬性設(shè)true也沒有意義,反而在程序目錄增加一個dll文件,混淆視聽.
3. winform程序增加配置文件app.config,內(nèi)容如下:
<?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公鑰標(biāo)記(需強名,在GAC中注冊后就有了)-->
??????? <codeBase version="1.0.0.0" href="1\\chengxuji.dll"/>
????????????????????????????? <!--1.0.0.0版本要一致,..\\chengxuji.dll程序集目錄(相對本程序運行目錄)-->
????? </dependentAssembly>
??? </assemblyBinding>
? </runtime>
</configuration>
?
這樣就可以動態(tài)加載dll了,
1.用了引用,不用自己定義dll函數(shù)說明.
2.動態(tài)加載dll,可用相對目錄,上級目錄也可以,方便多系統(tǒng)共用同一個dll.即exe和dll不在同一目錄.
?最近找到了一個更方便的做法,不需要強名和版本,這是網(wǎng)址http://www.cnblogs.com/heimark/archive/2010/10/14/1851032.html
轉(zhuǎn)載于:https://www.cnblogs.com/heimark/archive/2010/08/16/1800494.html
總結(jié)
以上是生活随笔為你收集整理的c# winform程序调用托管dll(c#的dll),使用添加引用和动态加载dll的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅析Staging
- 下一篇: 用C#实现仿Ruby的XML Build