这里是(可能的)问题: 我创建了一个COM对象,然后使用“foreach”循环遍历它返回的集合中的每个元素。我需要释放我迭代的集合中的每个单独元素吗?(请参见下面的代码。)如果需要,我无法想到一种有效的方法在“finally”语句中释放它,以防在操作该项时发生错误。 有什么建议吗? pr...
创建了一个COM服务器并进行了注册。 当我尝试在COM客户端中添加该COM服务器时,无法添加,并出现以下错误: "无法添加对'COMTest'的引用 ActiveX类型库'c\user\~\Debug\COMTest.tlb'是从.NET程序集导出的,因此无法作为引用添加。...
我正在使用C# (.Net 4.0)构建一个COM对象,用于经典asp网站。现在我想知道如何在组件和asp站点之间传递VB-Script数组(单维和多维)的正确方法是什么?非常感谢提供示例代码。
虽然有很多关于COM和STA/MTA的问题(例如这里),但大多数都是谈论具有UI的应用程序。而我有以下设置: 一个控制台应用程序,默认情况下为多线程公寓(Main() 显式具有 [MTAThread] 特性)。 主线程生成一些工作线程。 主线程实例化单线程COM对象。 主线程调用 Cons...
根据这篇文章的说法,如果我将我的COM对象注册为“Both”或“Free”线程模型,则该对象必须完全支持多线程。具体来说,对于所有全局共享变量的访问都必须进行同步,对于成员变量的所有访问也必须进行同步。这需要付出很大的努力。 现在我理解了,将我的对象注册为使用“Free”线程模型是有利的,而...
已经在此处描述了在没有管理员权限的情况下调用regasm的解决方法: 无需regasm进行COM互操作 我正在尝试创建一个COM库,我的用户可以在Excel VBA中部署和使用而不需要管理权限。我喜欢regasm的解决方法,因为似乎人们在从Excel VBA使用无需注册的COM对象方面并不...
我们有一个.NET应用程序,它使用不同DLL中的COM对象,这些DLL也在我们应用程序的VB6部分中使用。当引用COM库时,Visual Studio 2012会创建一个Interop.x.DLL并引用它。我应该从构建机器上分发Interop.x.DLL还是使用某个.NET命令行工具重新生成它...
我使用VS2005制作了一个简单的C# DLL(它是一个更大项目的一部分)。我需要通过VBA代码在Excel中使用该DLL,因此我正在使用程序集上的COM互操作。我正在尝试使构建过程自动生成必要的TLB文件,以便我不需要在每次构建后去命令行并使用regasm。 我的问题是,尽管DLL编译和构...
将一个项目从.NET 1.1迁移到.NET 2.0后,MsBuild为某些COM对象发出大量警告。测试用的示例代码(实际代码不重要,只是用于创建警告):using System; using System.DirectoryServices; using ActiveDs; namespace...