c# - COM / Active X 用户控件不能嵌入互操作类型
问题描述
我目前正在尝试在 Windows 窗体应用程序中使用“Adobe PDF Reader”Active X 控件。
将此控件添加到窗体中会在项目中创建两个新引用
AcroPDFLib(名称:Interop.AcroPDFLib) AxAcroPDFLib(名称:AxInterop.AcroPDFLib)
在 .csproj 文件中,我得到了两个 COM 参考元素。
我一直在努力寻找关于我现在正在努力解决的问题的文档。
我想要做的是启用“嵌入互操作类型”但是,我无法做到这一点。
我可以将 AcroPDFLib 的嵌入互操作类型设置为 true。但是编译器告诉我它仍然将其视为参考,因为它是 AxAcroPdf 的参考,并且没有嵌入。
如果我尝试嵌入 AxAcroPdfLib,它说它不能,因为在我的代码中我必须创建一个 AxAcroPdf 实例(这是显示 pdf 的控件)并建议我改用该界面。但是没有界面可以使用。COM 库 (IAcroAXDocShim) 中的接口不是由 AxAcroPdf 实现的,而是由它封装的,AxAcroPDF 有一个 IAcroAXDocShim 类型的私有字段。
所以我看不到我想要嵌入其中任何一个 COM 库的方法。
这引起了我的问题,因为我的构建服务器无法构建项目,但它没有这些 COM dll,而且我一直在阅读我不应该从 COM dll 创建 Nuget 包。所以我对如何解决这个问题有点迷茫
解决方案
推荐阅读
- julia - Julia 元编程:数学系列的函数
- java - 如何从 ArrayList 的 ArrayList 打印字符串
- javascript - 如何在反应时控制输入标签中的 defaultChecked?
- python - 我将如何删除此 python 列表中 1 之前的所有零
- google-sheets - google-sheets-if-and-formula-between-two-times 返回结果或返回原始结果
- javascript - 使用 WebSocket 的 WebChat 在 Safari 中不起作用
- python-3.x - 卡在 Python 中的程序上
- c# - 如何解析带有欧元货币符号的数字字符串?
- amazon-web-services - AWS Kinesis Firehose 无法将数据索引到 AWS Elasticsearch
- java - Kotlin 嵌套多泛型类型类到 Java 嵌套原始类型