你的dll是私有的还是公有的?
私有的你肯定没有退出调用的程序。公有的可能在缓冲中。做的时候最好是用私有的dll

解决方案 »

  1.   

    如果是ASP.NET程序,每次编译之前把aspnet_ws进程杀掉。
    如果还是不行,把IIS服务也停掉。
      

  2.   

    是啊,可能调用这个DLL的程序还没有完全退出内存。
      

  3.   

    这个贴子有解决方案(就是退出VS,然后把bin目录下的文件都删掉<还可以把obj下面的Deubg或release文件夹也删掉。>),然后,重新进入VS,重新编译就可以了。
    每次编译都得这样做。
    http://www.csdn.net/Expert/TopicView1.asp?id=888540
    我认为这是MS的BUG,目前该贴还在争求意见中。To: all
    该dll程序是被VS调入内存,只有退出VS才有效。888540贴子有说明。
    ...你们想啊,楼主两天没过关,估计重启动机器也有好几次了吧,再怎么样的进程也该死了好几次了吧?说进程没有完全终止,除了VS,没有别的了。事实上,VS调入一个sln的同时,还把该sln中项目所用到的dll及interop也一起调入,为的是智能感知和即时错误提示可以从该dll和interop中直接获取。但这也造成了问题的所在。
      

  4.   

    上述各位的方法都试过了,但是不行,
    主要是我的项目中的所以Dll,我都指向了一个目录,如:Web/bin,
    我现在将他们都指向各自的 bin 目录可以了。
    但是为什么呢?
    是不是微软的Bug阿!
      

  5.   

    以前在VC6的时候,不管输出目录指向什么地方都不会有问题的阿。
    为什么VS。Net就会有问题了?