com-interop相关内容

EXE免费注册COM错误

我正在尝试使用EXE公开的COM功能。我已经使用Visual Studio 2010(在Windows7 / x64计算机上)创建了一个C#项目,并添加了对该EXE的引用,然后将Isolated标志设置为true。构建解决方案时,对于它公开的每个类都会出错。 问题隔离COM参考'FNCClient11Lib':注册表 键 'HKEY_CURRENT_USER\SOFTWARE\CLASS ..
发布时间:2020-10-06 00:26:37 C#/.NET

Entlib和互操作性:它有效吗,配置文件在哪里?

我正在尝试将.net代码中的EntLib 3.1用于注册了COM互操作的dll。我在哪里放置配置文件? 或者,是否可以在dll代码中指定从中获取entlib配置的位置?因为我的dll将通过COM调用,所以我并不总是知道哪个exe会调用它。 我创建了一个使用entlib Logging的简单应用,其中包含两个类: “ CallingApp”和“ MyComThing”。当我从Callin ..
发布时间:2020-10-06 00:26:36 C#/.NET

来自C#类的VB 6.0中的自动化错误

我已经创建了C#类库,并且正在通过VB 6.0应用程序使用它。但是,当我尝试调用任何方法(返回字符串)时,会出现自动化错误。 知道为什么吗? 解决方案 [ComVisible(true)] [ClassInterface(ClassInterfaceType.None) ] [Guid(“ 00000000-0000-0000-0000-000000000000”)] ..
发布时间:2020-10-06 00:25:32 C#/.NET

将vb.net类库导入到vb6项目

我创建了一个vb.net类库。它是存储设备的接口。它提供了一些对象和方法以便将数据读取和写入设备。 问题是客户有一个vb6应用程序,我们要在其中添加以下功能:类库以操纵设备。我将类更改为com类,选中了com interopt复选框,并使用.net framework 2.0 regasm.exe注册了该库。 我添加了该库作为对a的引用空白的vb6项目,并创建了一个对象。 / pre> ..
发布时间:2020-10-06 00:24:24 其他开发

使用Silverlight和com-interop进行打印

我正在尝试从Silverlight进行打印而没有打印对话框,为此,我正在使用System.Runtime.InteropServices.Automation; 现在我创建一个包含要发送到打印机的文本的临时txt文件。 使用(动态fso = AutomationFactory.CreateObject(@“ Scripting .FileSystemObject“)) { 动态文件= ..
发布时间:2020-10-06 00:24:19 C#/.NET

“公共结构包含将要导出的一个或多个非公共字段”。 -但是没有字段吗?

我下面的结构正在针对COM互操作进行编译。我收到以下构建警告: warning:类型库导出程序警告处理 'MyNamespace.MyStruct.k__BackingField, MyAssemblyName”。 警告:公共结构包含一个 或将要导出的多个非公共字段。 但是我不明白它指的是什么-根本没有非公共字段,也没有字段。也许编译器生成了我看不到的东西?该警告是什么意思,我能 ..
发布时间:2020-10-06 00:24:11 C#/.NET

在C#中等效于_bstr_t

我正在一个需要将C ++代码转换为C#的项目中。 我遇到了 _bstr_t 在代码中,我想知道C#中的等效方式。 解决方案 _bstr_t 类是 BSTR 类型。这是 OLE自动化中的字符串,该字符串已跨语言标准化。 也就是说,.NET中的等效类型是 System.String 。 关键是与之交互(或定义接口用于.NET代码中的COM互操作),则需要使用 MarshalA ..
发布时间:2020-10-06 00:23:46 C#/.NET

如何公开词典到COM Interop

我有一个定义如下的接口: 接口foo { int someProperty {get; set;} Dictionary物品; } 实现此接口的具体类需要为COM Interop注册。一切都会编译,程序集似乎都注册成功,但是随后尝试创建COM对象(例如从PowerShell)时,我得到了一个错误。 这似乎与我正在使用的通 ..
发布时间:2020-10-06 00:23:43 C#/.NET

C#COM自动化的双接口和仅分发接口之间的区别

我正在针对C ++ COM服务器实现c#COM客户端。当我将COM接口标记为“ Dual”时,COM客户端可以正常工作,但是当我删除“ Dual”属性时,它会引发InvalidCastException。 因此,对我来说很容易解决将其标记为双重。但是从在线阅读来看,它似乎不是推荐用于COM服务器的方法。任何人都可以向我解释(用外行术语)将接口标记为双重接口的重要性,为什么不推荐使用它? ..
发布时间:2020-10-06 00:22:37 C#/.NET

COM Interop .NET STA

如果我在.NET中有一个STA线程,并且在该线程中创建了一个STA COM对象,然后该线程完成,那会杀死该对象的实例吗? 我的理解是否正确,STA COM对象可以被多个线程访问,运行时会自动封送对所有发生在单元线程中的调用?该线程是创建实例的线程吗?那么,如果该线程完成,实例将成为孤立对象并丢失?还是有为STA实例创建的单独线程? 如何在ASP.Net中使用ASPCompat = Tr ..
发布时间:2020-10-06 00:22:34 C#/.NET

我应该使用.NET应用程序部署Interop.x.dll文件吗?

我们有一个.NET应用程序,该应用程序使用不同DLL中的COM对象,该应用程序的VB6部分中也使用了该对象。引用COM库时,Visual Studio 2012将创建一个Interop.x.DLL并引用它。我应该从构建计算机分发Interop.x.DLL还是使用某些.NET命令行工具重新生成它?什么工具部署引用COM的.NET应用程序的最佳实践是什么? 解决方案 不,自VS2010以来不再 ..
发布时间:2020-10-06 00:21:27 C#/.NET

从互操作调用返回多个结果(UDT?)-VB6<-> VB.NET

我希望Interop用户控件(VB.NET)返回并接受来自get / set调用的多个值。我假定用户定义类型(UDT)是正确的方法,但是我不断从VB6编译中获得“变量使用Visual Basic不支持的自动化类型”。如何在互操作控件和VB6应用程序之间传递多个值? VB.NET(互操作)代码,即带有.NET ListView的控件 结构员工 Dim名字作为字符串 Dim名字作为字符 ..
发布时间:2020-10-06 00:21:22 其他开发

如何从Visual Studio 2010调试托管BHO

我有一个托管的Explorer栏(在Internet Explorer中工作),运作良好。当前,调试它的唯一方法是: 在VS外部启动IE 从VS(调试=>附加)附加到进程“ iexplore.exe” 尝试执行以下操作: 转到项目属性=>“调试”选项卡 启动外部程序: c:\程序文件(x86)\ \internetexplorer\iexplore.exe 命令行参数:ab ..
发布时间:2020-10-06 00:21:19 C#/.NET

无法从VBA获得免注册COM

更新:在花了20多个小时尝试使一个简单的示例工作之后,我意识到这并不像看起来那样简单。文章像这样揭示“陷阱”-这是在Windows 7之前编写的(处理清单的方式不同)。我坚持将.NET程序集暴露给VBA 通过VSTO 我制作了一个简单的COM-Visible .NET程序集,并试图从Excel VBA中调用它。如果我在.NET构建过程中“注册COM Interop”,则可以成功地从VBA调用 ..
发布时间:2020-10-06 00:21:17 C#/.NET

我通过COM互操作获得的“对象[*]”类型是什么?

我进行C#excel互操作。我从C#调用宏,并且期望对象数组。我可以从返回二维数组的宏中获取二维对象数组。 但是,另一个(第三方)宏应该返回一维数组。我无法使(object [])xlApp.Run(...)工作(抛出异常),并且调试器中的类型信息说明了结果类型为 Object [*] 。来自异常的实际消息是 无法将类型为“ System.Object [*]”的对象转换为类型为“ S ..
发布时间:2020-10-06 00:20:39 C#/.NET

Activator.CreateInstance(< guid>)在VSIDE内部工作,但不在外部工作

我有一堆COM对象,它们都实现相同的接口,并且需要创建一个在运行时从选项列表中选择的对象。因为我知道每个实施COM服务器的CLSID,所以这应该很容易。但是,对于COM库的某些子集,只有在VS2010 IDE中运行时,我才能使此工作正常。 这是我正在使用的整个程序用于测试: 使用系统; 命名空间ComTest { class Program { static void ..
发布时间:2020-10-06 00:19:32 C#/.NET