我要加载不存放在bin的debug下的dll,如何加载。
我已尝试用loadfrom、loadfile来加载,假如我的debug下面有Test.dll文件的话,然后我调用其他文件夹比如F:\dll下面的这个Test.dll,使用路径F:\dll\Test.dll调用两个方法都能正确加载,客户端能调用Test.dll里面的方法。但是我把debug下面的这个Test.dll删除掉,再用路径F:\dll\Test.dll来加载:
未能加载文件或程序集“Test, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件。
在程序运行的 时候,我尝试删除F:\dll下面的Test.dll,结果不能删除,说明服务端的程序已经在使用这个dll,但是客户端却提示找不到文件,我猜是不是我的Test.dll这个dll的接口问题,我在客户端引用接口,然后实现代理,iTest = (ITest)(Activator.GetObject(typeof(ITest), "tcp://localhost:8887/Test"));再调用方法时,提示找不到文件。
你的读取是指设么?.要使用这个dll吗?
使用dll应该是用反射来得到这个dll的实体对象: Assembly.LoadFrom(filePath);
详细使用参考http://blog.csdn.net/wormwormwormworm/archive/2008/03/06/2154006.aspx
调试状态默认读取的都是debug下的文件
你在项目里面单独建立个文件夹,用来存放 需要引用的 DLL。加载的时候也从这里加载, 就不会有你上面的问题。