首页 新闻 搜索 专区 学院

如何在使用DLL文件后,通过程序卸载使用的DLL文件?

0
悬赏园豆:10 [已关闭问题] 关闭于 2013-06-21 13:17

各位博友:

  我在开发项目中遇到一个DLL使用更新问题,情况如下:

  DLL文件是用C++的动态库,C#程序进行调用。同时可能需要更新C++的DLL文件。

  我在更新C++文件是,提示:

我在更新C++dLL文件之前,是调用过这个DLL的函数的。从而导致更新这个文件时,出现错误。

 

C# 调用 C++的方法如下:

[DllImport("ICCInter_hz.dll")]
public extern static int ICC_OpenSession( StringBuilder atr );

测试发现:

调用过方法以后, 文件就被程序占用了,无法删除此文件,求如何在调用以后及时的卸载这文件,可以被别的程序删除。

james.dong的主页 james.dong | 初学一级 | 园豆:91
提问于:2013-06-18 14:48
< >
分享
所有回答(1)
0

 //导入引擎dll
        [DllImport("Kernel32.dll")]
        
public static extern IntPtr LoadLibrary(string lpFileName);

        [DllImport(
"kernel32.dll", SetLastError = true)]
        
public static extern int GetProcAddress(
            IntPtr hModule, 
string lpProcName);

        [DllImport("
kernel32.dll", EntryPoint = "FreeLibrary", SetLastError = true)]
        
public static extern bool FreeLibrary(IntPtr hModule);

james.dong | 园豆:91 (初学一级) | 2013-06-21 13:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册