62得票10回答
以编程方式启动和停止IIS Express

我想在C#中构建一个小应用程序,它应该启动/停止IIS Express工作进程。为此,我想使用官方的“ IIS Express API”,该API在MSDN上有文档:http://msdn.microsoft.com/en-us/library/gg418415.aspx 据我所知,该API...

7得票1回答
清理CommandBar按钮

我有一个COM插件的问题已经拖了几个月,但我无法找出原因。 IDTExtensibility2实现已经由Carlos Quintero(MZ-Tools背后的家伙)进行了同行评审,并被认为是正确的。 根据他的建议,OnBeginShutdown实现设置一个标志,在OnDisconnecti...

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

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

7得票2回答
“轻量级COM”究竟是什么?

在研究哪些COM公寓线程模型被Direct2D支持时,我发现尽管表面上看起来可以使用.NET通过COM互操作使用API,但Direct2D(像其他DirectX API一样)实际上根本不是COM API。(1) Direct2D的维基百科文章(2)以及Thomas Olsen的MSDN博客...

78得票2回答
"注册为COM互操作"与"使程序集对COM可见"的区别。

这两个选项的真正区别是什么?据我所知: 注册COM互操作 该选项在程序集上执行regasm并将程序集作为COM组件(或者可能不是)在注册表中注册,具有所有类似COM的注册表项。 这一步会生成TLB文件吗?还有其他操作吗? 有时候我编译项目时会看到生成tlb文件,但有时却没有,为什么会这样呢...

9得票1回答
C# .Net4:正确释放(动态)COM对象

我需要从我的.Net4应用程序自动化办公文档(Word和Excel)。 由于我不能强制用户使用特定的Office版本,因此我不使用互操作程序集或tlbimp,因此我的项目不包含任何其他引用,如果未安装Office,则整个应用程序将不会失败(只是该功能不可用)。 相反,我询问系统哪个COM服...

10得票2回答
.NET互操作是否会来回复制数组数据,还是会固定该数组?

我有一个在C#中声明的COM方法签名:void Next(ref int pcch, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)] char[] pchText); 我这样称呼它:int c...

7得票1回答
通过COM Interop创建的C#对象如何正确处理释放

我正在编写一个C#类库组件,它将充当TCP服务器。它将通过特定端口监听和接收XML,对其进行反序列化,然后引发包含所得到的对象作为事件参数的事件。 该类库本身将被VB6应用程序使用,该应用程序将接收和处理事件和相关的COM可见类对象。 TcpServer类封装了TcpListener功能,...

15得票6回答
为什么C#中的null被翻译为VB6中的Empty,而不是Nothing?

我有一个引用VB6 dll的C#应用程序。当我将null从C#传递到VB6 dll函数时,null会被翻译为VB6中的Empty值(value),而不是Nothing对象。例如: // function in vb6 dll that referenced by c# app Public ...

7得票1回答
将C#对象按值传递给COM

我正在尝试使用从C#访问COM接口,该接口由tlbimp生成并公开以下接口: [Guid("7DDCEDF4-3B78-460E-BB34-C7496FD3CD56")] [TypeLibType(TypeLibTypeFlags.FDual | TypeLibTypeFlags.FNonE...