COM / Active X用户控件无法嵌入互操作类型

时间:2018-10-02 10:49:10

标签: c# com interop activex

我目前正在尝试在Windows窗体应用程序中使用“ Adob​​e PDF Reader” Active X控件。

将此控件添加到表单中会在项目中创建两个新引用

AcroPDFLib(名称:Interop.AcroPDFLib) AxAcroPDFLib(名称:AxInterop.AcroPDFLib)

在.csproj文件中,我得到了两个COM参考元素。

我一直在努力寻找有关自己正在苦苦挣扎的文档。

我想做的是启用“嵌入式互操作类型”,但是,我无法做到这一点。

我可以将AcroPDFLib的Embed互操作类型设置为true。但是,编译器告诉我,由于AxAcroPdf引用了该引用并且未将其嵌入,因此仍将其视为引用。

如果我尝试嵌入AxAcroPdfLib,它说不能,因为在我的代码中,我必须创建一个AxAcroPdf实例(该控件显示pdf),并建议我改用该接口。但是,没有要使用的接口。 COM库(IAcroAXDocShim)的接口不是由AxAcroPdf实现的,而是由它包装的,AxAcroPDF具有一个IAcroAXDocShim类型的私有字段。

所以我看不到我想要做的一种嵌入这两个COM库的方法。

这引起了我的问题,因为我的构建服务器无法构建项目,但是它没有这些COM dll,从我一直读到的内容中,我不应该从COM dll创建Nuget程序包。所以我对如何解决这个问题有点迷茫

0 个答案:

没有答案