Welcome to MSDN Blogs Sign in | Join | Help

张羿的MSDN Blog

All about CLR/Interop, COM, Win32, C++

Syndication

Browse by Tags

All Tags » CLR   (RSS)
CLR 4.0 Beta1新功能:Stub Method Redirection
.NET Framework v4.0和VisualStudio 2010 Beta1已经出来有阵子了,估计有些喜欢尝鲜的朋友已经下载试用了。这一次发布包含了大量的新功能。我们上海CLR开发团队会编写一系列的文章介绍Interop的相关新功能。我来给大家简单介绍一下Stub Method Redirection功能。这个功能是CLR上海开发团队设计、开发并测试的新功能之一,这一次我们上海CLR小组共开发了下面几个功能 1. Managed TlbImp (Rewrite) 2. Stub Method Read More...

Posted Wednesday, June 17, 2009 6:31 AM by yzha | 0 Comments

Filed under: , , ,

【预告】1月6日下午14:30 CLR开发系列课程(3):COM Interop基础 (Level 300)
1月6日下午14:30我将在MSDN中文网络广播中主讲.NET中COM和COM Interop的相关基础知识。有兴趣的朋友可以通过下面的链接登记并收听此次网络广播:   公共语言运行库(CLR)开发系列课程(3):COM Interop基础 (Level 300) 讲 师: 张羿  课程简介: 从本次课程开始,今后几次课程将围绕COM和COM Interop技术,展开对托管代码和非托管代码之间通过COM进行互操作的讨论。本次课程将从COM基础知识开始,简单介绍进行COM Interop的所需相关基础知识和概念,为以后的课程做好准备。 Read More...

Posted Tuesday, December 30, 2008 1:29 PM by yzha | 1 Comments

Filed under: , ,

.NET 4.0: Type Equivalency (2) – 内嵌类型
上次我们谈到了.NET 4.0中为什么要引入Type Equivalency这样一个新功能,这次我们来看一个比较简单的一个程序: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Office.Interop.Excel; namespace NOPIAExcelDemo { class Program { static void Main( string Read More...

Posted Monday, November 24, 2008 3:56 PM by yzha | 1 Comments

Filed under: , , ,

VS 2010 & .NET 4.0 CTP下载地址(10/31放出)
http://www.microsoft.com/downloads/details.aspx?FamilyID=922b4655-93d0-4476-bda4-94cf5f8d4814&DisplayLang=en 有11个文件,比较大,并且需要使用Virtual PC加载。 在.NET 4.0 CTP中CLR Interop的新功能是Type Equvalency,又称为No PIA,欢迎试用并提出您的宝贵意见。关于详细的使用方法我会在后面的Blog中详细讲述。 CTP提交Feedback的地方是: Read More...

Posted Saturday, November 01, 2008 5:42 PM by yzha | 2 Comments

Filed under: , , , ,

PDC: COM Interop新功能:Type Equivalency / NO PIA
在PDC上,Misha Shneerson和Andrew Whitechapel的Session:Under the Hood: Advances in the .NET Type System中披露了.NET 4.0中Interop的新功能:Type Equivalency,而内部我们都将这个Feature称之为NO PIA(Primary Interop Assembly)。这个Feature是VB/C#/Interop小组共同努力合作完成的,可以说是CLR Interop在.NET 4.0中最大的改进之一。我会在接下来的几篇Blog中介绍我们为什么要做这个Feature,以及这个Feature的使用方法,工作原理,等等。想先睹为快的朋友可以先下载Video和PPT: Read More...

Posted Thursday, October 30, 2008 2:06 AM by yzha | 1 Comments

Filed under: , , ,

TlbImp新版本发布:/v2 & /preserveSig
两个星期之前CLR Interop小组再次发布了TlbImp的新版本。本来是早就应该写篇Blog介绍一下的,只是一直忙于CLR Interop新功能开发,难以抽出时间。这次版本添加了两个小功能: 1. /v2开关 在新版本的TlbImp中,我们不能随意改变新版本的行为,以避免当用户采用新版本的时候产生兼容性问题而导致程序编译出错,或者行为不正确。这个开关是用来告诉TlbImp采用新版本的行为,并且忽略兼容性要求。现在打开/v2开关只有一个作用(以后会加入更多):将struct/union中的VARIANT_BOOL转换为bool,而非以前版本的short,从而方便了用户的使用。实际上很多用户都在要求这个改动。老版本TlbImp的将VARIANT_BOOL转换为short的行为是由于老版本的Interop Read More...

Posted Saturday, October 25, 2008 2:42 PM by yzha | 0 Comments

Filed under: , , ,

微软CLR Interop Team的CodePlex主页上线!Interop Assistant代码公开!
经过一段时间的筹备,在Team的几位PM的共同策划之下,在CodePlex上面的CLR Interop主页终于上线了。CodePlex是微软公司开办的一个开源网站,上面的项目主要以.NET相关为主。我们CLR Interop Team决定在这里建立一个主页,专门用于存放内部成员所开发的Interop相关工具。主页的地址是: http://www.codeplex.com/clrinterop 可能有些朋友还不清楚CLR Interop Team究竟是从事什么方面的开发,这里简单介绍一下。CLR,也就是Common Read More...

Posted Tuesday, June 17, 2008 1:44 PM by yzha | 3 Comments

Filed under: , ,

什么是System.__ComObject: 强类型RCW和弱类型RCW
大家在进行COM Interop编程的时候,不知道]是否会见到这样的情况。通常,我们通过TlbImp.exe把一个类型库(Type Library)转换成Interop Assembly。比如在Type Library里面有一个coclass叫做MyComObject,那么在Interop Assembly中也存在一个MyComObjectClass这样一个托管类型。用户可以直接使用这个MyComObjectClass操作MyComObject这样一个COM对象,比如使用new创建,调用方法,等等。因为MyComObjectClass并不是MyComObject这个COM对象本身,而是像一个代理(Proxy),.NET中我们将其称为RCW Read More...

Posted Sunday, June 15, 2008 11:03 PM by yzha | 1 Comments

Filed under: , ,

.NET中的幕后英雄MSCOREE.dll
现在做 .NET Framework 的开发的朋友应该是越来越多了, 但是可能并非人人都对 MSCOREE.DLL 非常了 解 。而事实上,毫不夸张地说, MSCOREE.DLL 是 .NET Framework 中最为核心的 DLL 之一,没有这个 DLL ,托管程序根本无法开始执行起来,但是由于这个 DLL 藏在 System32 目录下,根本无人问津,可以说是有点委屈了这位 .NET Framework 中的幕后英雄。本文主要讨论 MSCOREE.DLL 的几大作用,以及讨论 MSCOREE.DLL Read More...

Posted Monday, November 05, 2007 8:08 AM by yzha | 0 Comments

Filed under: , , ,

.NET Main函数参数解释过程和特殊规则
最近正在准备一个小型开发工具的发布工作(具体的内容请容我先卖个关子,等发布之后我会详细给大家介绍的)。在使用时不经意中发现,使用 .NET开发的命令行工具的对引号和反斜杠 \ 和一般命令行程序有着不同的解释规则。举例来说,如果你在命令行下输入: C:\> tool “C:\Program Files\” 实际上传入的参数是 C:\Program Files” 。其实这里不仔细看可能发现不了问题。在原来的命令行中,第一个双引号代表一个参数的开始 / 结束,后面 \” 因为 .NET 的解释规则不同,代表实际的双引号,而非参数的开始 Read More...

Posted Monday, November 05, 2007 6:40 AM by yzha | 0 Comments

Filed under: ,

CorFlags的用法
CorFlags 是 .NET Framework 中一个用于查看 .NET 可执行文件 (PE) 的运行参数的 非常有用的工具,但是这个工具输出的结果不是特别直观,文档中并没有做出解释,本文将用实际例子解释 CORFLAGS 的用法。 首先我们来看一个一般的情况,随便写一个 A.CS 文件,用 CSC 编译,并用 CorFlags 察看 > csc a.cs > corflags a.exe Microsoft (R) .NET Framework CorFlags Conversion Read More...

Posted Monday, November 05, 2007 6:38 AM by yzha | 0 Comments

Filed under: ,

.NET/CLR好书推荐
最近一直在看 CLR 方面的书籍,发现了几本不错的书,于是整理一下自己的感受放上来,希望能够对大家选择合适自己的书有所帮助。 1. CLR via C#, 2 nd Edition 这本书不用我多说了。 Jeffrey Richter 的经典之作。条理清晰,深入浅出,绝对是学习 .NET/CLR 的必读。国内只有翻译版本。 http://www.amazon.com/CLR-via-Second-Pro-Developer/dp/0735621632 2. Essential .NET. Volume Read More...

Posted Monday, November 05, 2007 6:35 AM by yzha | 0 Comments

Filed under: ,

Page view tracker