我正在开发一个单词2013 add in,其中包括从个人ID卡中读取数据,插入读卡器以及读取它们时将其插入word文档。
有非托管dll,它与阅读器通信,并公开可以应用的API。我还创建了.NET包装器DLL,它通过DllImport属性访问API调用,并作为非托管dll的接口。
此.NET DLL被添加为对项目中的2013添加词的引用。
一切正常,问题是,如何将解决方案提供给潜在的客户计算机,以及一个安装程序?
"发布"可用于Office加载项项目的选项,不提供获取第三方dll的可能性,将其包含在安装包中并指定将在何处复制到客户端计算机上。至少我发现它。
.NET库仍然是安装包的一部分,因为它在add in项目中被引用。但是不会复制非托管dll。所以我们会有一个没有内容的shell,它不会工作。
非托管dll的包含作为.NET dll的嵌入式资源是否可能是此解决方案?我在论坛上看到了如何处理嵌入式第三方dll资源的一些说明,看起来有点复杂。
会有更简单的解决方案吗?
提前感谢tipps!
答案 0 :(得分:0)
好的,与此同时,在我等待答案的同时,我已经为自己尝试过一些东西,但它似乎正在起作用。
实际上非常简单。由.NET包装器DLL引用的第三方DLL应作为内容包含在外接程序项目中,该内容将被复制到可执行文件的位置。由于.NET包装器DLL也在那里被复制,DLLImport(" thirparty.dll")将完成这项工作。