我有一个“主”程序,它使用反射动态加载我自己的“plugin.dll”文件。“plugin.dll”文件通过使用Visual Studio 引用来引用第三方“device.dll”。只要“device.dll”和“plugin.dll”与“Main”程序位于同一文件夹中,或者“Main”程序引用了“plugin.dll”,一切正常。但是,一旦我将“device.dll”文件移动到另一个文件夹,我就会收到以下错误消息:“无法加载文件或程序集或其依赖项之一。系统找不到指定的文件。” 出现问题是因为程序找不到“device.dll”文件。“复制本地”属性或“参考路径” 对这个问题没有任何影响。我知道我必须指定“device.dll”的路径,但如果不将“plugin.dll”和“device.dll”放入 GAC(全局程序集缓存),我找不到方法。GAC 不是一个解决方案,因为第三方 dll 也必须是强命名的(再次分解和组装),这是版权许可所不允许的。
其他详细信息:使用 Visual Studio 2013 和 .Net 框架 4.0 FUSLOGVW 不会记录任何错误(任何想法为什么?)。
期待您的建议,在此先感谢。