7得票4回答
C#和VBA的Side-By-Side COM互操作

我不是在谈论从C#调用VBA COM...而是另一种方式!我想做的是在MS Access中使用VBA调用C#库,而无需注册DLL。我已经尝试了一段时间的并行互操作,但没有成功,最终我意识到mdb.manifest可能不能替代exe.manifest(这很明显,但我一直试图保持乐观)。我的问题是...

7得票3回答
实例化一个 .Net COM 可见类时出现自动化错误

我使用这个简单的类创建了一个COM-Interop .dll: using System.Runtime.InteropServices; namespace ClassLibrary1 { [ComVisible(true)] [Guid("795ECFD8-20BB-4...

16得票4回答
如何将COM对象包装在本机.NET类中?

我正在使用一个广泛存在的COM API(可能是Outlook,但不是)在.NET(C#)中。我通过在Visual Studio中添加“COM引用”来完成这个过程,所以所有的“魔法”都是在幕后完成的(即,我不必手动运行tlbimp)。 虽然现在可以从.NET轻松地使用COM API,但它并不是...

7得票1回答
在 .Net COM Interop 中理解 IEnumerable

为什么我可以使用VBScript的for each语句遍历System.Collections.ArrayList对象,但无法遍历Systems.Collections.SortedList对象? 考虑以下内容: set aList = Server.CreateObject("Syste...

11得票5回答
什么引起了错误 HRESULT: 0x80010105 (RPC_E_SERVERFAULT)?

我创建了一个ASP.NET Web服务,使用第三方支付处理引擎来授权信用卡交易。 Web服务托管在一个独立的应用服务器上,并通过ActiveX对象(.ocx扩展名)连接到支付处理服务器。最近,在尝试使用“IsAvailable”检查来建立与应用程序的连接时,它一直生成HRESULT: 0x8...

8得票4回答
Excel互操作加载XLL和DLL文件

我有一份使用Bloomberg API的Excel文件(使用类似于=BDP("MS equity","ask")的简单调用)。我还有一个C#应用程序,通过interop打开一个使用Bloomberg API的Excel文件。我在这里读到了插件在通过interop加载Excel时不会被加载的信息...

11得票2回答
如何从C#返回一个对象数组/列表/集合到VB6

我正在创建一个COM可见的C#对象,用于代理VB6应用程序对Web服务的调用。 我有一个返回对象数组的方法。public DocActionReport[] DocActionReportByDateRange(System.DateTime reportStartDate, System.D...

20得票10回答
能否拦截(或知道)暴露给COM的CLR对象的COM引用计数?

我已经重新表述了这个问题。 当通过COM互操作将.NET对象暴露给COM客户端时,会创建一个CCW(COM可调用包装),它位于COM客户端和托管的.NET对象之间。 在COM世界中,对象保留其他对象对其的引用计数。当该引用计数降为零时,对象被删除/释放/收集。这意味着COM对象终止是确定性...

16得票2回答
为什么办公室PIA不能正确安装到GAC?

我目前正在开发一个C#项目,需要访问Outlook。该项目在两台不同的计算机上进行开发,其中一台安装了Office,而另一台则没有。我之前曾询问如何针对Outlook COM对象编译我的项目,有一个评论建议我编译时使用了Office主互操作程序集(PIA)。在我下载的Office 2007 P...

19得票1回答
注册托管COM组件时,是否需要使用“已实现类别”键?

手动注册托管类以供 COM 互操作时,需要某些注册表键。例如:HKEY_CLASSES_ROOT CLSID\[My Cls Id] InprocServer32 (Default) = "mscoree.dll" Assembly = [My assembly...