草庐IT

Com_show_warnings

全部标签

C# - 将 Nullable<T> 公开给 COM 的好方法

我们正在努力向COM公开程序集。除其他事项外,我们经常使用可空值,例如long?、DateTime?等。这些是通用类型,不能向COM公开。什么是COM的这些数据类型的良好替代品?我们尝试了以下方法://OriginalCustomerIDpropertyinclasspubliclong?CustomerID{get;set;}//ExplicitCOMinterfacelongIComInterface.CustomerID{get{returnCustomerID.GetValueOrDefault();}set{CustomerID=value;}}问题是,我们需要一种通过COM

c# - 客户端应用程序已请求访问资源 'https://outlook.office365.com'。此请求失败

我正在尝试从office365API测试示例代码,我可以登录到我的帐户,但之后我总是会遇到此异常AuthenticationFailedException被捕获AADSTS65005:客户端应用程序已请求访问资源“https://outlook.office365.com”'.此请求失败,因为客户端未在其requiredResourceAccess列表中指定此资源。跟踪ID:7a39b0bd-1738-418f-984a-feffae5b5d9b关联ID:16da7c7f-9f0c-468f-a560-a51b1ac9b3bf时间戳:2014-07-0907:36:34Z这是我一直在测

c# - SerialPort port.open "The port ' COM 2' does not exist."

SerialPort.Open();我遇到了一个大问题我正在与USB虚拟COM端口(cdc)通信,它被列为COM2。它在TeraTerm/hyperTerminal等中运行良好。但是当我尝试在C#中打开端口时,它给了我异常Theport'COM2'doesnotexist。我使用SerialPort.GetPortNames()函数获取端口名称,调试时它看起来很好。我曾尝试将名称设置为硬编码,但没有成功。现在真正奇怪的是,它在某些PC上运行良好,而在其他PC上运行失败。在一些PC上,它总是失败,而在其他PC上,它有10%的时间失败。更奇怪的是它取决于所使用的USB端口,一些端口工作正常

c# - Regfree COM 事件从其他线程失败

我有一个COM可见.NET类,它公开事件并从VB6中使用。在过去的几天里,我一直试图让它与regfreeCOM一起工作,但没有成功。当从原始线程触发事件时,VB6事件以regfree模式运行。VB6事件在注册类型库时从另一个线程触发时运行。(regasm/tlb/codebase后跟regasm/codebase/unregister,后者不会注销tlb)当在regfree模式下从另一个线程触发时,它会抛出异常,因此永远不会执行VB6事件代码。System.Reflection.TargetException:Objectdoesnotmatchtargettype.atSystem.

c# - 我通过 COM 互操作获得的这个 `Object[*]` 类型是什么?

我做C#excel互操作。我从C#中调用宏,并且期望对象数组。我能够从返回二维数组的宏中获取二维对象数组。但是,另一个(第三方)宏应该返回一个一维数组。我无法让(object[])xlApp.Run(...)工作(它抛出异常),并且调试器中的类型信息表明结果是类型对象[*]。来自异常的实际消息是Unabletocastobjectoftype'System.Object[*]'totype'System.Object[]'.这是什么Object[*]类型以及如何从中检索一维数组?编辑:我想到这可能意味着SAFEARRAYofVARIANTS。但是随后出现了两个问题:为什么二维数组一切正

c# - 如何在 C# 中扫描 COM 端口?

C#是否提供扫描可用COM端口的有效方法?我想在我的应用程序中有一个下拉列表,用户可以在其中选择检测到的COM端口之一。创建和填充下拉列表不是问题。我只需要知道如何使用C#扫描可用的COM端口。 最佳答案 System.IO.Ports是你想要的命名空间。SerialPort.GetPortNames将列出所有串行COM端口。遗憾的是,C#不直接支持并行端口,因为它们很少使用,除非在遗留情况下。也就是说,您可以通过查询以下注册表项来列出它们:HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\PARALLEL

c# - MessageBoxIcon.Exclamation 和 MessageBoxIcon.Warning 有什么区别?

MessageBoxIcon.Exclamation和MessageBoxIcon.Warning有什么区别? 最佳答案 没有区别,它们是同一个数字(48)的别名。publicenumMessageBoxIcon{None=0,Error=16,Hand=16,Stop=16,Question=32,Exclamation=48,Warning=48,Asterisk=64,Information=64,} 关于c#-MessageBoxIcon.Exclamation和MessageB

c# - 通过 .NET 手动调用 COM 对象的方法

是否有手动方法在.NET的GAC中调用COM对象,而不将其添加为引用?我问的原因是我只知道如何在C#中编码并想调用.NETCOM对象并测试其CMO调用是否可见,但显然你不能将.NETCOM对象添加到.NET部件!因为你必须引用它,所以我想知道如果它通过c#代码手动注册到GAC中,你能调用它吗? 最佳答案 TypemyType=Type.GetTypeFromProgID("IMyLib.MyClass");objectobj=Activator.CreateInstance(myType);object[]args=newobjec

c# - 为 COM DLL 创建 .NET 包装器的工具?

是否有任何开源工具可以自动为COMDLL库生成.NET包装器? 最佳答案 在.NET中使用COM对象不需要包装器。在VisualStudio中,在解决方案资源管理器中右键单击您的项目名称,然后选择“添加引用”。任何已注册的COM对象都将列在COM选项卡中。只有在将.NET程序集用作COM对象时才需要互操作包装器,而不是像您在问题中描述的那样相反。 关于c#-为COMDLL创建.NET包装器的工具?,我们在StackOverflow上找到一个类似的问题: htt

c# - 调用线程必须是 STA,因为在 WPF 中很多 UI 组件都需要这个错误。在 form.show() 上

首先,我在网站上阅读了几个类似问题的答案,但老实说,我觉得它们有点令人困惑(由于我缺乏经验而不是答案!)。我正在使用FileSystemWatcher()类来监视正在创建/更改的文件的文件夹。事件发生后,我想在项目中加载另一个表单。当新表单上的构造函数试图执行时,我没有加载表单,而是收到错误。我只使用一个线程-我没有尝试在不同的线程下加载表单。我的代码如下//MainWindowpublicstaticvoidFolderWatcher(){FileSystemWatcherfsWatcher=newFileSystemWatcher();fsWatcher.Path="C:\\dum