TlbImp新版本发布:/v2 & /preserveSig

tlbimp全版本V1.1/V2.0/V3.5/V4.0/V4.5 tlbimp.exe,用于导出.net类型库 各各不同版本的tlbimp可以导出对应版本的.net dll库 一般用于把excel.exe导出成excel.dll 压缩包里提供了已经导出好的各版本excel.dll,以及导出脚本,仅供参考 立即下载

两个星期之前CLR Interop小组再次发布了TlbImp的新版本。本来是早就应该写篇Blog介绍一下的,只是一直忙于CLR Interop新功能开发,难以抽出时间。这次版本添加了两个小功能:

1. /v2开关

在新版本的TlbImp中,我们不能随意改变新版本的行为,以避免当用户采用新版本的时候产生兼容性问题而导致程序编译出错,或者行为不正确。这个开关是用来告诉TlbImp采用新版本的行为,并且忽略兼容性要求。现在打开/v2开关只有一个作用(以后会加入更多):将struct/union中的VARIANT_BOOL转换为bool,而非以前版本的short,从而方便了用户的使用。实际上很多用户都在要求这个改动。老版本TlbImp的将VARIANT_BOOL转换为short的行为是由于老版本的Interop Marshaler(应该是.NET v1.0)不支持这个转换。之后虽然Marshaler支持了这个行为,但我们一直没有机会对TlbImp做出相应修改。此次CodePlex发布TlbImp给了我们很好的机会来修改TlbImp使之支持这些我们一直想做但是没有做的功能,而且也不用等到下个版本。

2. /preserveSig开关

这个功能也是很多用户所要求的功能。一旦打开,所有的interface/class中的方法将打上PreserveSigAttribute这个属性,并且函数的原型也会做出相应改变,同时返回的HRESULT也不会被转换成对应的.NET的Exception。很多时候,在进行COM调用的时候,会预期到调用失败,并作出相应处理,并且失败是非常常见的。在这种情况下,把HRESULT转换成Exception则是完全没有必要的性能损失。打开了这个开关的话,会导致CLR不自动把HRESULT转换成Exception,而是需要用户自己检查返回的HRESULT,使用和FAILED和SUCCEEDED宏所类似的方法。在使用上没有之前抛出Exception来的方便,但是却提供了更大的灵活性,避免不必要的性能开销。

感兴趣的朋友可以在这里找到最新的版本:

http://www.codeplex.com/clrinterop/Release/ProjectReleases.aspx?ReleaseId=17579

「转载」vaptcha 等手势验证码图像识别与轨迹提取(思路) 作者:文安哲 从博客重开以后就说要更文章,鸽了蛮久了,赶紧补上一篇嫖嫖各位老公的流量。 最近看群里面大家讨论研究手势验证码比较多,然后我也顺带研究做了一下,给各位老公们分享一下做的过程。 首先,一起来康康手势验证码长啥样! 大概就是长这个样子,需要按照图像中的那条轨迹再图片上滑动,不得不说这类验证码确实体验感拉满,让人很想立马关掉这个网站。 那么言归正传,这类验证码该怎么做识... 阅读详情

相关推荐

Linux下libdrm实战:从零搭建一个简单的DRM显示程序(附完整代码)

本文是一份Linux下libdrm的实战指南,详细介绍了如何从零开始搭建一个简单的DRM显示程序。通过对比传统Framebuffer的局限性,阐述了现代DRM架构的核心优势与核心对象(FrameBuffer、Plane、CRTC等)的协作流程。文章提供了完整的代码示例,演示了如何打开设备、创建并填充Dumb Buffer、设置CRTC以依次显示红绿蓝纯色画面,并涵盖了编译、运行及进阶开发要点,为嵌入式Linux图形开发提供了扎实的入门基础。

weixin_29183637的博客 406

KVM Debugfs接口

KVM模块通过debugfs输出了部分运行指标,可以供我们了解其运行状况

991

如何实现chrome谷歌浏览器多开(独立环境 独立cookie)

由于各种各样的原因,你可能需要在一个电脑登录某个平台,比如一个电脑登录3个公众号,或者3个知乎等等。最简单的方案是,直接安装3个不同的浏览器,比如一个谷歌浏览器,一个火狐浏览器,一个 Edge 浏览器。这个方案也能解决,但如果想多开10个呢?安装10个不同的浏览器也能解决,但感觉这样比较复杂,另外一方面安装太多的应用,会导致电脑卡顿。这里给大家介绍,我在 Win 和 Mac 系统下的躲开解决方案。Win 系统下的解决方案最为简单,原理就是给不同的谷歌浏览器,指向不同的用户存储路径即可。

lzqial1987的专栏 1万+

找不到tlbimp命令的解决方法

今天看到一篇讲.Net平台下开发中文语音应用程序的文章(http://www.microsoft.com/china/community/program/originalarticles/techdoc/Cnspeech.mspx),觉得很好,就试了一下.可发现没有tlbimp这个命令.这是怎么回事?在网上搜了一下,终于找到了解决的方法.原因是:没有设置相关的环境变量.所以系统找不到这个命

wayne 我的陋室我做主 7783

World Action Model:经典论文

郑困时,图prorpt为机量人压务时,退过驱制解弱词表(constrsinsd decoding), 强附模型只从.256个者动作token中保H, B象总注活地。始VLA之一,RT-2使用了大量的五联网VQ据与少里的机械网的AcSonDat行CoFine-Tunng, 独组sl, 共i744个episode,Mous使用三个专累模,分是vidogonmedel,actonesget,understandng。包的核定之的的观到沟血黄动作,预之后现(vorlemodel),tseing,2。

u013250861的博客 406

从AD到HFSS:Gerber文件驱动的PCB三维电磁仿真全流程解析

本文详细解析了从AD到HFSS的Gerber文件驱动的PCB三维电磁仿真全流程,重点介绍了Gerber文件作为桥梁的重要性、AD端Gerber文件导出实战指南、HFSS 3D Layout导入技巧及高级问题排查方法。通过实际案例和技巧分享,帮助工程师高效完成PCB电磁仿真,提升设计验证效率。

weixin_33735077的博客 259

Tlbimp 生成c#互操作com组件dll

Tlbimp C:\Windows\System32\HelpPaneProxy.dll F:\MyWorkSpace\HelpPaneProxySharp.dll Microsoft (R) .NET Framework Type Library to Assembly Converter 4.0.303 Copyright (C) Microsoft Corporation. All...

如鹿渴慕泉水的专栏 1247

Tip-Adapter: Training-free Adaption of CLIP for Few-shot Classification

对比式视觉-语言预训练,也称为CLIP,通过大规模的图像-文本对来学习视觉表示,为zero-shot知识迁移展示了新的范式。它在下游任务上展现出令人瞩目的性能,实现了zeri-shot的知识迁移。为了进一步增强CLIP的适应能力,现有方法提出了微调可学习模块的方法,显著提高了少样本情况下的性能,但也引入了额外的训练时间和计算资源。在本文中,我们提出了一种适用于CLIP的无需训练的少样本分类方法,称为Tip-Adapter。

qq_43800752的博客 1161

DllImport进阶:参数配置与高级主题探究

在基础篇中,我们已经简单介绍了DllImport的一些属性。现在我们将深入探讨这些属性的实际应用。

LongtengGensSupreme博客 2254

2024年12月中国电子学会青少年软件编程(Python)等级考试试卷(六级)答案 + 解析

2024年12月中国电子学会青少年软件编程(Python)等级考试试卷(六级)答案 + 解析

伶俐角少儿编程 727

用 ABAP 驾驭 OAuth 2.0:从 Authorization Code 到 SAML Bearer 的全栈落地指南

ABAP平台OAuth 2.0客户端开发实践 本文为SAP开发者详细解析ABAP平台内置OAuth 2.0客户端的使用方法,涵盖四种授权流的最佳实践: 授权流选择: Authorization Code:适用于用户交互场景 SAML 2.0 Bearer:适合已有SAML体系的企业 Client Credentials:系统间通信 Password Credentials:过渡方案(不推荐) 配置流程: 通过SE80定义Client Profile 使用SOAUTH2_CLIENT/OA2C_CONFIG配

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 309

CodePlex开源版Tlbimp.exe的两个新功能

昨天,我们开发团队在CodePlex上发布了一个Tlbimp的新版本。关于Tlbimp的用途介绍这里就不多说了,大家有兴趣的话可以参看半个月前写的《Tlbimp.exe在CodePlex上开源啦!》一文。半个月后,我们根据用户最迫切的需求,给Tlbimp的功能作了小小的改进,并将这个最新版本再次发布在CodePlex上。主要的新功能包含了两个新的选项:/v2:当用户在命令行中输入 >tlb

CLR & Silverlight上海研发团队Blog 2098

OpenCV入门(一)Python环境的搭建

因为有点Python基础,并且Python是比较好入门的编程语言,所以,机器视觉后面打算在Python这个平台下进行。

小幽余生不加糖 8117

C#调用COM接口的三种方式

C# 调用COM接口 获取HRESULT而不是抛出异常

sinat_35549832的博客 1万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

.NET的跨平台调用一例(PreserveSig)

这样一段代码: .class public auto ansi Test extends [mscorlib]System.Object { .method public static pinvokeimpl("msvcrt.dll" cdecl)int32 sscanf(string, string, int32&) cil managed { } .fiel...

weixin_30318645的博客 249

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C#分享辅助类:快捷方式辅助(ShortcutHandler)

C#分享辅助类:快捷方式辅助(ShortcutHandler)创建程序菜单快捷方式。

lyp1215的专栏 403

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

C# 有关系统音量的操作

需要知道的 调音量是可以快捷键的,还可以用Winmm.dll,但是这个过于复杂了,还有左右声道,我们不需要这么复杂。还有个办法 https://stackoverflow.com/questions/14306048/controlling-volume-mixer 代码 public static class SystemVolume { #region Master ...

782

WPF中,如何将Vista Aero效果扩展到整个窗口

                                                 WPF中,如何将Vista Aero效果扩展到整个窗口                                                                                           周银辉效果图:有不少示例介绍了如何将Vista Aero效果扩展到...

weixin_34342207的博客 165

深入剖析C# 的接口编程(六)

http://www.ccw.com.cn/applic/prog/htm2003/20030506_15XC8.htm   六、接口转换 C#中不仅支持.Net 平台,而且支持COM平台。为了支持 COM和.Net,C# 包含一种称为属性的独特语言特性。一个属性实际上就是一个 C# 类,它通过修饰源代码来提供元信息。属性使 C# 能够支持特定的技术,如 COM 和 .Net,而不会干

旅途 854

C#直接使用DllImport外部Dll的方法

C#.Net调用基本格式: [DLLImport(“DLL文件路径”)] 修饰符 extern 返回值类型 方法名称(参数列表) 如: [DllImport("kernel32.dll", SetLastError = true, EntryPoint = "SetLocalTime")] public static extern int SetSystemTime(ref SystemTi

贝爷的博客 8万+

接口(六)接口转换

第六节、接口转换  C#中不仅支持.Net 平台,而且支持COM平台。为了支持 COM和.Net,C# 包含一种称为属性的独特语言特性。一个属性实际上就是一个 C# 类,它通过修饰源代码来提供元信息。属性使 C# 能够支持特定的技术,如 COM 和 .Net,而不会干扰语言规范本身。C# 提供将COM接口转换为 C#接口的属性类。另一些属性类将 COM类转换为C# 类。执行这些转换不需

阿达King哥的博客 1622

c#进程外Com服务(exe)编写调用

网上有些进程外的一些资料,但有些简单,研究了两天写了demo,可利用这种方式解决64位的程序调用32位的dll等问题,但注意方法参数不能含有IntPtr,因为指针跨进程是无效的,每个进程都有自己的内存区域 一.编写外部Com服务exe    1.首先新建一个winform的应用程序,并设置com程序集可见2.编写com类     编写com接口,guid可利用vs的工具生成,代码设置com接口的可...

那里有颗树 8086

Visual Studio Team System 2010 Architecture系列文章

微软上海VS TeamArch小组的中文Blog上面最近开始了一个系列文章,主要翻译Cameron Skinner的一系列介绍Visual Studio Team System 2010 Architecture CTP的一些新功能的Blog,目前有下面两篇: VSTS 2010 Architecture 第一章:Modeling Project Visual Studio Team Syst

张羿的优快云专栏 8853
上一篇: ATL:IDispatchImpl, IDispEventImpl, IDispEventSimpleImpl的区别和联系
下一篇: PDC: COM Interop新功能:Type Equivalency / NO PIA
ATField
博客等级 码龄25年 673粉丝 119原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值