在C# 中用 [DllImport("mydll.dll")] 调用 dll 中的函数mydll.dll 就在程序同目录里,这样一切正常 但是如果删除了mydll.dll文件 就会弹出一个.net的错误窗口提示 没有找到 mydll.dll 无法加载模块云云但是 问题是 这时整个C#程序怎么还能继续执行啊 怎么能让 dll 加载不正确时 退出程序或者自己来处理

解决方案 »

  1.   

    先判断File存不存在,然后再调用不就OK了
      

  2.   

    但这只能判断 mydll.dll 这个名字的 file 的存在如果这个 mydll.dll 被同名文件替换了呢?怎么判断 dll 的正确加载?
      

  3.   

    [DllImport("yourdll")]
    public static extern void test();
    try{
      MethodInfo mi = typeof(yourclass).GetMethod("test");
      Marshal.PerLink(mi)
    }
    catch( Exception e )
    {
      不存在}