草庐IT

COM串口

全部标签

c# - 在 C# 中访问 USB 或串口

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭10年前。如何在C#中通过USB发送和接收?那么Serial和LPT呢?

C# + COM Interop,确定性发布

COM对象通常具有确定性销毁:它们在最后一个引用被释放时被释放。这在C#-COMInterop中是如何处理的?这些类未实现IDisposable,因此我看不到触发显式IUnknown::Release的方法。一项临时测试表明,未引用的COM对象会被延迟收集(即垃圾收集器正在触发释放)。需要主动释放的OCM对象怎么办?(例如,持有大量或共享的关键资源)?原始问题:我们有一个大量使用COM库的C#应用程序,它正在疯狂地泄漏。问题似乎在C++和C#代码“之间”(我们可以访问两者),但我们无法确定。 最佳答案 您可以使用System.Run

c# - 从C#中的串口读取

我试过使用Readline()并且数据被丢弃,我尝试使用Read()但我不确定如何使用防错方法来做到这一点,因为我可能会一个接一个地收到几个数据包,但我没有知道会有另一个数据包进来的方法。在数据包之间BytesToRead是0,所以我不能使用它。将数据读取到缓冲区时,您有计时器或让线程休眠以允许所有数据包到达?我迷路了。不知道接下来要尝试什么。我应该提一下,我不能保证从串行端口出来的字符串将以\n或\r或\r\n结尾。我只需要一种万无一失的方法来读取当用户按下PRINT时来自秤的所有数据包。有人在这里回答了我喜欢的想法-等待所有数据包的一定时间,但他们删除了他们的回答。您有机会重新发布

c# - References of References with COM 调用者

这个问题在这里已经有了答案:AddmanagedDLLdependenciedtounmanagedC++project(1个回答)关闭6年前。我有这样一个场景:使用VBA从MSAccess应用程序调用COM调用我们正在构建的C#库,该库引用了Newtonsoft.Jsonv9库使用nuget包,它们自己依赖Newtonsoft.Jsonv6(例如,Microsoft.AspNet.WebApi.Client)当他们尝试使用Newtonsoft.Json(或与我们的C#库引用的版本不同的任何库)时,它自己的黑盒代码中的依赖库会崩溃错误:Couldnotloadfileorassembl

c# - 在 C# 中正确处理 COM 互操作对象,尤其是 MS Office 应用程序

我正在开发一个严重依赖多种MicrosoftOffice产品的应用程序,包括Access、Excel、Word、PowerPoint和Outlook等。在研究互操作时,我发现从VS2010和.NET4开始,幸运的是我们不再需要经历PIA的噩梦。另外,我看了很多关于正确处理元素的文章,最明智的似乎是this一个。但是,这篇文章已有5年历史,关于AFAIK主题的权威出版物并不多。以下是来自上述链接的代码示例:'Cleanup:GC.Collect()GC.WaitForPendingFinalizers()GC.Collect()GC.WaitForPendingFinalizers()M

c# - 释放临时 COM 对象

考虑以下使用COM对象的C#代码。MyComObjecto=newMyComObject;try{varbaz=o.Foo.Bar.Baz;try{//dosomethingwithbaz}finally{Marshal.ReleaseComObject(baz);}}finally{Marshal.ReleaseComObject(o);}这将释放COM对象o和baz,但不是o.Foo返回的临时对象和o.Foo.Bar.当这些对象拥有大量非托管内存或其他资源时,这可能会导致问题。一个明显但丑陋的解决方案是,用try-finally使代码更加困惑和Marshal.ReleaseComO

c# - 如何设置 asp :HyperLink href to "mailto:abc@hotmail.com" in .net c#

有谁知道如何在.netc#中将asp:HyperLinkhref设置为“mailto:abc@hotmail.com”?例子:如果我有以下代码:PERSONALEMAIL:如何在.netc#中将href设置为“mailto:abc@hotmail.com”,而不是在asp:HyperLink中对其进行硬编码? 最佳答案 通过设置NavigateUrl这样的事情:'Text=''ID="hlEmail"> 关于c#-如何设置asp:HyperLinkhrefto"mailto:abc@ho

c# - Serial Port ReadLine vs ReadExisting 或如何从串口正确读取数据

我正在从串口读取数据。数据超出了规模。我现在正在使用Readline(),即使在我删除DiscardInBuffer()之后数据也会丢失。从串口读取数据的正确方法是什么?网上的例子太少了,我觉得这就像是无人问津的chalice。C#、WinCE5.0、HP瘦客户机、Compact框架2.0privatevoidWeighSample(){this._processingDone=false;this._workerThread=newThread(CaptureWeight);this._workerThread.IsBackground=true;this._workerThread

c# - 使用 WPF 退出时出现 COM 异常

执行完以下两个测试用例后,COM执行将打印到控制台。我做错了什么?如果我单独运行其中一个测试,或者如果我同时运行两个测试,异常只会被写入控制台一次。这让我怀疑我没有清理某种按AppDomain的资源。我已尝试使用NUnit和MSTest进行测试,两种环境中的行为相同。(实际上,我不确定在MSTest中运行这两个测试是否会导致一个或两个异常打印输出。)异常(exception):System.Runtime.InteropServices.InvalidComObjectException:COMobjectthathasbeenseparatedfromitsunderlyingRCW

c# - 在构建服务器上注册 COM 引用的 DLL

我们正在开发引用一些COM库(例如AutoIT)的C#应用程序。我在第3方“Libs”文件夹中包含了源代码管理下的所有引用组件。问题是COMdll在.csproj文件中没有HintPath属性,我认为这些必须使用regsvr32(或使用某种脚本)手动注册。我目前正在研究创建一个将在每次构建之前运行的MSBuild脚本,但是我不知道我是应该手动调用regsvr32.exe还是使用一些预定义的MSBuild任务?目前,这是我尝试进行的测试:这会产生错误,指出我放置在给定文件夹中的DLL不是有效的DLL。这个问题有什么好的解决方案?编辑:引用COMdll的项目在.csproj文件中有类似的内