0

我有两个 ocx 文件,我使用 regsvr32 在我的计算机上注册了它们。我通过在项目中添加对 COM 对象的引用,在我的 Visual Studio 项目中使用它们。

问题是当我尝试将这些添加到 SharePoint 项目时,当我尝试调用 COM 对象时,我收到错误:

“无法加载文件或程序集 'Interop.TsSDKActiveX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=60b2ad56e2b9ec22' 或其依赖项之一。系统找不到指定的文件。”

我该如何解决这个问题?TsSDKActiveX 在 GAC 中不存在(但在我的 Program Riles (x86) 中,这就是为什么我认为它没有找到它的原因。另外,我怀疑 sharepoint 喜欢 64 位 DLL 的事实是一个问题。

我试图将代码隔离在一个单独的应用程序中,并通过 WCF 服务调用它,但是由于这个 COM 组件的工作方式,这给了一些问题。我需要取消服务。

关于如何进行的任何建议?

4

1 回答 1

0

即使通过 COM,也无法将 32 位 DLL 加载到 64 位进程中。您可能会依靠 COM 跨进程边界进行通信,但我认为它不适用于您的情况。我认为您最初使用 WCF 的方法是最自然的方法。公开一个瘦 WCF 终结点,该终结点将 COM 包装器对象的接口包装在托管代码中,然后使用标准 WCF 客户端 API 从 SharePoint 与其交互。现在,如果您必须在交互中具有状态,请在共享点流程中创建一个业务对象,该流程维护并仅根据需要调用 WCF。你放弃 WCF 的原因是什么?

于 2012-06-21T18:38:22.813 回答