处理错误或将错误从 .NET 程序集传递到 COM 客户端/使用者
我正在编写一个 COM Interop .NET 程序集(COM 可调用包装器),并且试图了解将 .NET 程序集中发生的错误传递给 COM 客户端/使用者的正确方法是什么。…
将互操作dll放入GAC中?
这可能是一个有点愚蠢的问题,但我需要一些澄清。我对 .NET 有点陌生,并且创建了一个必须引用现有 COM DLL 的 EXE。在此过程中,Visual Studio 2010 …
使 Excel COM 对象保持活动状态
我目前正在使用Excel 2003 Interop机制来操作一些范围。 有时我将一些范围存储在我的 addin 中,作为类的属性,但是当我稍后尝试访问它们时,COM 对象…
在 WPF 中禁用 Web 浏览器上的上下文菜单
我有一个WPF应用程序,该应用程序将在带触摸屏的PC上运行的售货亭。该应用以全屏模式运行,以隐藏OS。在我的一个页面上,我有一个WebBrowser控件,该…
在 Visual Studio 安装和部署项目中注册用于 COM Interop 的 .NET DLL
我正在尝试为 COM Interop 注册一个 dll,并且遇到了它在我的开发计算机上运行但在我们的测试服务器上运行的常见问题。我尝试在 VS2008 中使用“Setup…
如何使用 tlbimp 指定不同的文件和程序集版本?
我们使用 tlbimp 生成互操作程序集。我们希望使用文件版本和程序集版本来标记互操作程序集。但是,tlbimp 上的 /asmversion 选项似乎将这两个设置为相…
我们如何检测 COM Interop 应用程序中的内存泄漏?
这将是检测使用 COM 互操作的 C# winform 应用程序内存管理问题的最佳方法。引用 COM 程序集,其方法用于许多计算和事务。 是否有任何工具可以识别已…
互操作类作为泛型类型参数有什么问题?
我有一个通用的基本包装类来包装我们正在使用的几个 com 组件: public class WrapperBase<T> : IDisposable where T : new() { private T comObj…
从当前选定的形状中读取 PinX、PinY ShapeSheet 单元格值:Visio、C# COM Interop
我试图通过键盘序列(例如 [Ctrl]+[G])为 Visio 中当前选定的形状设置 PinX 和 PinY 值。此工作的目的是根据当前所选形状的图钉坐标以编程方式将形状…
如何使免注册 COM 在托管/非托管互操作中工作
我有一个非托管 C++/ATL 进程内 COM 对象(在 Unmanagement.dll 中),我试图从托管 C# DLL (Managed.dll) 中使用它。但是,我想使用免注册的COM。我…
如何删除从本机代码中的 .NET 函数返回的 SAFEARRAY?
我使用以下方法(尽管不是详尽的列表)在我的 C++ 程序中托管一个 .NET 库: CorBindToRuntimeEx() GetDefaultDomain() CreateInstance() GetIDsOfNam…
C# 中存在大量 COM 对象时内存使用过多
我有一个最初用 VB6 编写的应用程序,我使用一个工具将其转换为 C#,从功能角度来看,效果相当成功。它使用大量中小型 COM (C++) 对象处理大量消息。 …
我可以设置一个 COM+用于创建“一次性”应用程序的应用程序进程外服务器?
如果我自己编写一个进程外 COM 服务器,我可以通过指定 CoRegisterClassObject() 调用中的REGCLS_SINGLEUSE 标志。 当我创建 COM+ 应用程序并在那里添…
杀死 COM 服务器而不释放 .net 中的 com 对象有什么危害吗?
各位 - 我正在 .net 中创建许多 COM 服务器(我正在启动许多 EXE),通过 COM -interop 与 COM 通信,在服务器中使用大量 COM 对象等。如果我终止该进…