我有一个使用第三方库来执行特定任务的 WPF 应用程序;该库在其方法之一中执行语句Assembly.GetEntryAssembly()
。
如果我在调试时运行 WPF 应用程序(通过运行 .Net exe 进行测试),该库可以正常工作并Assembly.GetEntryAssembly()
返回对可执行文件程序集的引用,但在生产中我遇到了不同的情况,这会导致我出现一些问题。
在生产中,WPF 应用程序与 VB6 应用程序集成在一起,程序从 VB6 菜单中使用InteropFormLibrary
;在这种情况下,库会引发异常,因为Assembly.GetEntryAssembly()
返回null
(它找不到与程序集关联的可执行文件)。
我的问题是我无法更改库的代码,因为我没有可用的源代码,并且我通过dll
反编译器找到了引发异常的语句并分析了异常中的方法。
现在我的问题是:有没有办法确保该方法GetEntryAssembly
不返回null
?我可以以某种方式分配或“规避”吗?