PDFCreator COM与不同版本互操作

B.G*_*ill 4 c# pdf interop

我需要PDFCreator COM interface从C#应用程序连接.为此,我使用VS生成的Interop包装器.但是有些客户端有不同版本的PDFCreator(我有1.2.1,有些有1.4.3),如果我使用Interop为1.2.1生成,我在使用包装器时会遇到异常.有没有办法解决?所以我的应用程序可以支持多个版本的PDFCreator?

另外,我不确定PDFCreator接口实际上是否已更改.是不是对COM对象的确切版本有一些锁定,我可以在生成Interop库时简单关闭?谢谢.

B.G*_*ill 8

所以,基于yms答案,我得到了正确的方向:)

.NET 4.0支持与VB类似的后期绑定COM对象,使用System.Type和magic dynamic关键字.

简单示例如何使用动态绑定运行PDFCreator:

    System.Type pdfCreatorType = System.Type.GetTypeFromProgID("PDFCreator.clsPDFCreator");
    dynamic comPdfCreator = System.Activator.CreateInstance(pdfCreatorType);

    comPdfCreator.cStart("", true);
Run Code Online (Sandbox Code Playgroud)

这就像一个魅力,你不需要为每个新的PDFCreator版本重新编译你的互操作程序集.