好的,按照插件的思路思考。
我有自己的 dll,它有自己的功能。如果存在第三方 dll,我将从该 dll 中扩展一个类。
除非缺少第三方 DLL,否则一切正常。这是问题的症结所在。
当 dll 不存在时,我会收到此异常:
“无法加载文件或程序集 'SOME_THIRD_PARTY_ASSEMBLY, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' 或其依赖项之一。系统找不到指定的文件。”
这个想法是如果第三方 dll 存在则允许附加功能,如果不存在则不允许该功能。
我知道我可以使用 Reflection 来测试一个类型是否存在,但是为了得到那部分代码,我必须让它通过上面的异常。
这并不是说我只需要知道一个类是否可用,我也在扩展这个类。
所以为了编译我的 dll,我需要在 Visual Studio 中添加对第三方 dll 的引用。
我可以在某处捕捉到这个异常吗?我应该以不同的方式解决这个问题吗?