在从 .NET 应用程序调用使用 TLBIMP.EXE 创建的 COM/DLL 时,我需要了解架构方面的帮助。场景是:
我有一个名为 XYZ.DLL 的 DLL,其中包含方法、类等。我现在可以围绕 XYZ.DLL 创建一个 .NET 包装器,并将获得一个可以从我的 .NET 应用程序引用的 Interop.XYZ.DLL。
我的第一个问题是:当我在 .NET 应用程序中从 Interop.XYZ.DLL 中的类创建对象并调用该类的方法时,是否调用了原始 XYZ.DLL?据我了解,Interop.XYZ.DLL 现在可以作为原始 XYZ.DLL 的代理类的一种形式,因此 XYZ.DLL 必须始终存在于系统上才能进行调用?
第二个问题:假设我使用 TLBIMP.EXE 创建了 interop.XYZ.DLL。在我的 .NET 应用程序运行的系统上,XYZ.DLL 文件被修补/更新。我的假设是,只要在新修补的 XYZ.DLL 中提供相同的类/方法,我的应用程序仍然可以工作。还是我错了?在必须处理引用的互操作 DLL 的修补时,是否有任何最佳实践?
谢谢 !
最好的问候弗兰克