com-interop相关内容

如何从它的CLSID运行时可调用包装类的System.Type?

注意:有关背景信息,请参阅此相关的问题:如何获得LINQPad转储()系统.__ ComObject引用? 我能够检索对应于一个COM对象的RCW类的CLSID(从另一个COM对象获得的不的使用的 IPersist.GetClassID() 的 Type.GetTypeFromCLSID() 总是返回弱类型系统.__ ComObject 的不的强类型RCW类。 我需要得到 的Sy ..
发布时间:2016-10-01 19:32:05 C#/.NET

错误激活IInterceptor ......只有通过COM?

TL; DR: Kernel.Get< T> 工作从.net / WPF应用程序调用的时候,但有一个内在的 ActivationException (在 TargetInvocationException )从VB6应用程序调用时。 WTH? 这是一个有点上的这个问题,我以这样的方式,我从来没有需要真正实现一个配置的抽象工厂与Ninject的公约,对Ninject工厂扩展负责生成 ..
发布时间:2016-10-01 18:30:11 C#/.NET

COM对象清除

我作为实例在C#DLL中定义在Excel中的VBA脚本的COM对象。在C#类我实例具有执行垃圾收集,特别是其他MS Office对象它引用,这是我应该看到出现,在任务管理器中消失终结。事实上,单元测试表明,一个Office程序出现时该dll被调用,并在结束时消失。 在该dll从VBA调用,我注意到进程保持开放的VBA函数结束后,即对象被调用,这使我相信,VBA不释放COM对象后notclea ..
发布时间:2016-10-01 18:18:17 C#/.NET

Marshal.GetActiveObject(QUOT; Outlook.Application")以高特权调试时抛出MK_E_UNAVAILABLE

本无当Visual Studio是不是开始作为一个管理员发布ř调试问题的代码运行。 Marshal.GetActiveObject (“Outlook.Application”); 然而,当我开始VS以管理员身份并运行调试同一行,我得到以下错误 System.Runtime.InteropServices.COMException 操作不可用(从HRESULT ..
发布时间:2016-10-01 00:42:03 C#/.NET

异常处理:如何颗粒状,当涉及到参数验证你会去?

我编码一个单一的方法简单的小类发送电子邮件。我的目标是实现它在传统的Visual Basic 6项目,揭露它作为通过COM互操作设备的COM对象。 有一个细节我发现很难解决,这是我应该怎么颗粒处于参数验证。在那光,我真的很不高兴,和一个东西是不是一个细节都被我其实异常处理的方式: 公共类MyMailerClass { #地区创建 公共无效的SendMail(从字符串,字符串主题,字 ..
发布时间:2016-09-28 15:23:44 C#/.NET

了解COM C#接口

该Microsoft.Office.Interop.Word._Document接口具有以下签名的方法: 无效关闭(REF对象的SaveChanges = Type.Missing,参考对象OriginalFormat = Type.Missing,参考对象RouteDocument = Type.Missing); 我无法理解的几点: REF参数不能有默 ..
发布时间:2016-09-26 22:27:52 C#/.NET

使用包装对象要正确清理Excel的互操作对象

所有这些问题: 的 Excel 2007中挂起当通过.NET 结束的如何正确清理在C#中的Excel互操作对象 如何正确清理互操作的对象在C#中 与C#不释放Excel的COM使用后有正当理由反对这一问题的斗争。主要有解决这个问题的工作的两个方向: 杀死当Excel不再使用Excel进程 小心明确指定用于可变第一,每个COM对象,以保证最终,Marshal.ReleaseC ..
发布时间:2016-09-26 21:00:34 C#/.NET

使用C#,我怎么编程方式创建一个新的Visual Studio 2012的解决方案?

我跟着这对于如何创建一个 >项目作为VS2010,希望它会点我在正确的方向,但它不包括创建一个VS2012项目或解决方案。 我也探索使用 SLNTools ,但我看不出如何从头开始创建一个新的解决方案。 最后,我想以编程方式创建3-4 VS2012的项目,然后将它们添加到这也是编程方式创建一个解决方案。 任何帮助表示赞赏。 更新 我试图根据的 ..
发布时间:2016-09-26 12:51:10 C#/.NET

使用COM-互操作传递从VBA到C#数组

什么是使用COM的互操作通过用户定义的类的数组从VBA到.NET(特别是C#)的正确方法? 下面是我的C#代码。如果我把方法一从VBA它与“数组或用户自定义类型预期的”失败或“功能使用Visual Basic中不支持自动化类型”。 公共类MyClass的 { 公共方法一(UserDefinedClass []参数){...} 酒店的公共方法二(Object参数){...} } ..
发布时间:2016-09-26 11:50:26 C#/.NET

揭露DLL为COM Interop

我想我知道如何做到这一点,但显然不是,所以我会很感激一些帮助! 我不能让我的DLL来让我注册实例可以在一个VBS,或其他地方。 我写了下面的示例类,检查“使装配COM可见“,选中”注册为COM Interop“,然后建造它。 当我尝试从VBS实例化它,我得到了“ActiveX组件不能创建对象”错误 这是类代码: 使用系统; 使用System.Collections.Gene ..
发布时间:2016-09-26 11:46:16 C#/.NET

如何通过COM暴露可空类型

我一直在努力解决这个问题了一天半的时间,希望有人能帮助我。比方说,我有这样的结构在C#中: 公共结构部分 { 公共双? X; //或System.Nullable<双> X,其实并不重要 } (这些结构代表了数据库表,从转换LINQ到由SQLMetal创建SQL代码) 我需要能够以暴露这些结构中,含有空类型,对COM,使他们能够在另一应用程序(℃使用 ..
发布时间:2016-09-26 11:36:00 C#/.NET

警告MSB3391:或其可DLL>不包含可以是未注册为COM互操作的任何类型

我做了一个简单的C#DLL(这是一个更大的项目的一部分)使用VS2005。我需要的,所以我就用组装COM互操作通过VBA代码在Excel中使用DLL。我的努力使构建过程自动生成所需的TLB文件,这样我不需要去命令行,每生成后使用regasm。 我的问题是,虽然DLL编译和构建精细,它不会产生一个TLB文件。相反,在标题打印错误出在输出框 我在VS2005将项目的属性得到其他DLL打造T ..
发布时间:2016-09-20 21:13:28 C#/.NET

那是什么超阶级的出现在C#Guid属性?

我最近买了一些C#代码和类之一有一个GUID属性目前它上面。我不明白这是什么,或者它用来做什么的。 有人可以给我的是什么破败,或者只是点我在一些文章的方向获得有关这方面的信息? 谢谢! 解决方案 据是表示有问题的类在COM标识符。这个类是专为COM互操作。 ..
发布时间:2016-09-20 10:30:37 C#/.NET

揭露索引像属性COM

我在现有的COM接口。我wan't创建公开了新的界面,COM(具有新的GUID).NET程序集,但接口的结构必须一致。 如何创建一个.NET类(C#),公开此接口? [ ODL, UUID(1ED4C594-DDD7-402F-90DE-7F85D65560C4), 隐藏, 了oleautomation ] 接口_IFlashPhase:{IUnknown的 [prop ..
发布时间:2016-09-20 09:45:45 C#/.NET

如何获得LINQPad转储()系统.__ ComObject参考?

// EN: 我用 LINQPad 快速开发小型的的ArcObjects (为的 ESRI的ArcGIS软件)应用程序,并有过用它来转储()的COM对象,我从.NET初始化属性,但任何这是从现有的COM对象获得的COM对象简单地倾倒为系统.__ ComObject 引用,这是不是特别有用: 的此帮助主题解释为什么发生这种情况,这是我想我明白,但想知道哪些选项有用于解决此问题的工作,尤其在使 ..
发布时间:2016-09-19 11:29:25 C#/.NET

会议传递BSTRs到COM函数从C#(COM互操作)

我写在C ++编写的COM的API,并且还写一个程序,消耗在C#这个API。我的问题是关于BSTR内存管理语义传递BSTRs到COM函数时。说我的IDL看起来像: HRESULT SomeFunction([中] BSTR输入); 目前这个功能是这样实现的: HRESULT SomeFunction(BSTR输入){ //做的东西......,那么: Sys ..
发布时间:2016-09-18 13:17:12 C#/.NET

如果有必要/适合使用InAttribute和OutAttribute为COM Interop

我想经过我们已经分散在不同项目COM互操作定义的混乱和它们收集到一个已知良好的地理位置,整个开发团队可以受益。这一努力的一部分涉及清理已多年积累的定义。 有些是从其他源代码中借来的,有些是从pinvoke.net逐字复制,有的看从SDK头直接转换。有一件事我注意到的是,有没有关于何时使用各种编组的属性,(即使在pinvoke.net的例子,这是非常击中或错过)的一致性。问题的部分原因是,我不 ..
发布时间:2016-09-18 12:02:51 C#/.NET

存在于2型组件

我从两个不同的第三方COM DLL文件创建了两个.NET互操作程序集。无论是COM的DLL包含一个名为 COMMONTYPE 类型。因此, COMMONTYPE 现在通过两个互操作程序集公开为好。 我的第三个项目,需要使用这两个互操作程序集,我也得到了臭名昭著的编译时错误: 的 键入< ABC> 同时存在于< ASSEMBLY1.dll> 和< ASSE ..
发布时间:2016-09-18 11:26:02 C#/.NET