自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)

原创 本博客停止更新公告

微软中国研发集团服务器与开发工具事业部近期调整了个别研发项目,我们希望专注于创新,并不断加深在部分产品和技术开发上的广度和深度。CLR/Silverlight小组所负责的Interop和JIT项目将近期移交给美国团队,所有工程师也将于近期转入事业部其他的大项目组,这也意味着我们从即日起挥别这个耕耘了三年的中文博客。 如果您对CLR相关的内容感兴趣,请访问美国团队的博客:http://blo

2009-12-13 19:48:00 4040 5

原创 .NET 4.0新功能:Mscoree.dll + Mscoreei.dll=更少的Reboot (上)

一次Reboot=975年 在开始本文之前先做一个小调查:有多少朋友喜欢Reboot?答案A:我喜欢,每天都要Reboot N次。答案B:我不喜欢,最好一个星期都不要Reboot。如果没有意外的话,相信大部分人都可以归到B那一类,毕竟很少人会愿意中断自己所做的事情,把正在编辑的文章、代码等等一一存盘,然后重新启动,等待几分钟,再重新打开文档、代码编辑的。 不过,很遗憾的是,新版本的.NET的安

2009-09-03 17:25:00 3674 1

原创 .NET 4.0新功能介绍:In Process Side By Side

我们先来看一个在Outlook上运行.NET插件的一个情景。暂时机器上面安装的是CLR v1.1,Outlook上运行了一个Addin,在v1.1上编写和测试完毕,运行良好。之后,用户在机器上面安装v2.0。因为Outlook采取的方式是总是启动最新的.NET Framework(这也是有原因的,因为Outlook希望能够运行所有的版本的.NET Addin),Outlook自动会运行CLR v2

2009-08-25 13:48:00 4187 1

原创 .NET 4.0中的新功能介绍:契约式设计 (Design By Contracts)

什么是契约 我们先来看一个很简单的例子: Void WordList.Insert(string word) 这个函数负责将word以升序插入到WordList中的单词列表中,word不可以为NULL。 上面这些说明文字都是用来描述此函数的行为的。当使用该函数的调用者看到这些说明文字的时候,便知道函数应该如何调用以及在不同情况下的函数行为,换言之,上面这段说明文字简单的描述了函数调用者和被

2009-08-20 10:00:00 3130

原创 .NET 4.0 Interop新特性ICustomQueryInterface

在.NET Framework v4.0发布的新功能中,在名字空间System.Runtime.InteropServices新增加了一个叫做ICustomQueryInterface的Interface, 顾名思义,这个Interface的功能就是使得用户可以自己控制QueryInterface这个COM最常用的函数的行为。在v4.0以前,所有作用于托管组件上的QI行为,都是由CLR内部的IUn

2009-08-10 10:36:00 3996

原创 MSDN网络广播预告:.NET 4.0中的新特性系列课程(5):追踪CLR——使用Windows事件跟踪(ETW)观察公共语言运行时CLR(Level 300)

在最新一期的.NET 4.0新特性系列课程中,我将继续给大家介绍CLR 4.0中的一些新特性。被次课程聚焦于性能,具体信息如下: MSDN Webcast - .NET 4.0中的新特性系列课程(5):追踪CLR——使用Windows事件跟踪(ETW)观察公共语言运行时CLR(Level 300) 讲 师:       朱永泰         开始日期:  2009年8月18日 14:30

2009-08-02 22:00:00 3251

原创 CLR 4.0 安全模型

在公共语言运行时(CLR)过往的版本中,安全模型一直是最为复杂的模块之一,由于涉及Evidence,CAS策略等机制,难以被用户使用。在Silverlight中,CLR团队提出了三层安全级别,大大简化了安全模型,得到了很多积极的反馈。所以CLR4.0对之加以改进,希望能帮助用户开发出更为安全的应用程序。 三层安全级别及其运作机制 CLR4.0中的安全级别,从低到高排列如下: Trans

2009-07-24 16:51:00 3180

原创 IL Stub Diagnostic Tool在CodePlex上发布了!

该工具主要帮助大家诊断Interop Marshalling中间遇到的问题。它的源代码和二进制文件可以在CodePlex上下载:http://clrinterop.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=29745 本文首先介绍关于Interop Marshalling的背景,然后通过一个例子来介绍IL Stub Diagnosti

2009-07-14 17:43:00 3348

原创 MSDN Webcast预告 - .NET 4.0中的新特性系列课程(4):.NET 4.0 安全模型介绍(Level 200)

在最新一期的.NET 4.0新特性系列课程中,我们将继续给大家介绍CLR 4.0中的一些新特性,具体信息如下:MSDN Webcast - .NET 4.0中的新特性系列课程(4):.NET 4.0 安全模型介绍(Level 200)讲 师:       朱永泰  开始日期:  2009年7月21日 14:30中国 课程简介:CLR 4在安全领域的主要工作室简化安全模型,以便让用户

2009-07-08 15:25:00 3571

原创 CLR 4.0 Beta1新功能:Stub Method Redirection

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

2009-06-17 05:31:00 2738

原创 CLR 4 新特性 ------ 概览

.NET 4中发布了最新版本的公共语言运行时,简称CLR (Common Language Runtime) 。这个版本是CLR 2.0之后又一个新的版本,包含着CLR小组几年以来的辛勤工作。CLR上海团队计划在未来的几个月内陆续介绍其中的一些特性,本文作为一个概览,先作蜻蜓点水,抛砖引玉。也欢迎大家回复本文,告诉我们你所感兴趣的话题,我们会进一步作深入的介绍。    CLR 简介CL

2009-06-06 15:42:00 3814 1

原创 Visual Studio 2010 + .NET 4.0Beta1发布!

Visual Studio 2010和.NET 4.0的Beta1版本终于发布了!目前Beta1还只是对MSDN的订阅者开放,到美国时间20日星期三,也就是我们的21日星期四的时候,Visual Studio 2010 / .NET 4.0 Beta1将公开对外发布。这个版本是可以安装的Setup,而非上次的虚拟机镜像,因此对于大家的机器要求会放松一些。想要观看安装图片的朋友们可以点击这篇Blog

2009-05-19 21:14:00 2806

原创 .NET Interop入门-P/Invoke和Reverse P/Invoke

最近在论坛上经常看到一些基本的interop的问题,给我动力写完之前的.net interop入门系列,给刚刚涉足.NET  interop的朋友们一个大体上的概念。每每谈及.NET interop,我的脑中总是出现下面一幅图: 该图代表了.net interop的四个典型场景。之前我的同事和我讨论了.NET和COM互操作的应用:在.NET中调用COM:COM Intero

2009-03-28 16:24:00 3167

原创 Silverlight3的7个新功能

在刚刚结束的Mix09大会上(Mix是微软面向web开发者和设计者的会议),Silverlight团队的程序经理Joe Stegman介绍了silverlight3的许多让人兴奋的新功能,摘录如下: 1. 支持更多的媒体编码格式在Silverlight3中新增加的多媒体编码格式包括H.264,AAC,MP4。Silverlight这项技术,从出生以来,就一直把对多媒体,尤其是视频的支持,放

2009-03-24 00:40:00 4252

原创 CodePlex上TlbImp新版本发布:基于规则的自定义功能

大家好。距离上次我们发布在CodePlex上的新版本TlbImp已经过了快半年了。在这半年的时间内,除了主要进行.NET 4.0相关的新功能开发之外,我们上海CLR小组也没有忘记进行TlbImp相关功能的继续开发,于今年3月9日再次发布了TlbImp的一个新版本: http://www.codeplex.com/clrinterop/Release/ProjectReleases.aspx?Re

2009-03-13 15:28:00 3082

原创 在Silverlight中进行基本的数据验证

 Silverlight 2支持基本的数据验证功能。在Silverlight 2中,当我们把数据绑定到某个UI控件的时候,该数据所具有的有效性规则也自动被绑定到了该UI控件上。比如某个数据字段被设置为整数型,当我们用非整数型数据对该字段进行更新的时候就会发生错误。我们就可以利用这个规则在UI中对输入数据进行验证。要做到这点,我们只要设置两个XAML属性,并在所定义的事件中实现我们所期望的UI行为就

2009-02-25 13:15:00 3434

原创 中国首届.NET技术大会即将在上海召开

近些年来,中国的软件技术队伍一直在快速扩大中,而国内的技术交流论坛较之欧美一直较为匮乏,大型的技术会议与活动更是屈指可数。但随着中国软件技术的蓬勃发展,已经有越来越多的软件技术工作者被邀请到更多的技术活动中来。今年2月20日、21日,中国首届.NET技术大会将于上海召开。这对中国广大使用.NET技术的开发人员以及.NET技术爱好者来说无疑是一个好消息。 该大会由SoftCompass(祝成科技

2009-02-05 13:02:00 2997

原创 CLR Inside Out: Best Practices for Managed and Native Code Interoperability (托管/非托管代码互通性最佳实践)

不知道各位是否知道在每月发布的MSDN杂志上有一个CLR team负责的专栏,叫做CLR Inside Out。中文或许可以译作《CLR深入浅出》。在该专栏中,CLR team的各个研发人员深入探讨了CLR的各个方面,比如安全性、线程管理、性能管理等等。在最新的一期MSDN杂志中,CLR interop team在美国的PM发表了一篇名为《Best Practices for Managed an

2009-01-20 15:23:00 3240

原创 CLR Team blog (英文)正式启动

CLR team在微软算得上一个历史悠久的团队了。作为.NET框架的核心引擎,CLR伴随.NET Framework 1.0于2002年正式发布到现在刚发布的CTP版本,经过了几次重大的改进;而CLR开发团队从成立到现在也已有十载春秋。长久以来,CLR team 一直通过各种不同渠道(如论坛、反馈网站、客户等等)关注用户对CLR运行各个方面的反馈,如性能、兼容性等方面的改进都基于用户的大量反馈,而

2009-01-04 13:02:00 3009

原创 让Silverlight开发更便捷——Silverlight工具集

CodePlex.com作为微软的开源社区,已经有越来越多的开发人员从中找到自己想要的东西(亦或代码示例,亦或实用工具)来帮助开发。同时,在微软内部,也有越来越多的开发团队选择了这种更轻量便捷的方式来发布一些有趣、实用却暂时无法放入品中的代码和工具。在前几篇博文中,我也介绍了上海开发团队负责维护的codeplex主页(http://www.codeplex.com/clrinterop),以及已经

2008-12-24 10:26:00 1599

原创 .NET框架4.0中都有些什么?

前不久,在美国洛杉矶召开的Professional Developer Conference(PDC)上有一个讲座,介绍了有关.NET框架4.0中在CLR(公共语言运行时)方面的新功能。完整的视频可以在这里找到。这里做一个简单的总结: .NET 4.0让不同组件之间工作的更好1. 兼容性一直是个令人很头疼的问题,在.NET 4.0中,在同一个进程中,不同运行时上的组件可以同时运行,我们

2008-11-14 17:43:00 1675 1

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

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

2008-10-15 15:27:00 1763

原创 Silverlight 2正式发布!

在Silverlight 1.0发布的一年之后,今天,太平洋标准时间的午夜,北京时间的下午,Silverlight 2的正式版终于发布了!Silverlight作为一种网络技术,为用户带来下一代互联网络的丰富体验,为网络应用开发商以及其客户带来双重价值。配合Silverlight技术,微软提供的一系列工具让用户可以更快更方便的开发出跨设备跨平台跨浏览器的丰富的网络应用程序,并使应用程序的扩展性、可

2008-10-14 14:19:00 2174 4

原创 Visual Studio 2010及.NET框架4.0前景瞻望

这是国庆长假以后的第一篇博文。不知道大家这个国庆过得怎么样?近几个月,我们的开发团队一直在进行.NET框架4.0的设计开发,工作正在如火如荼的进行中。就在国庆期间,微软公布了我们在Visual Studio 2010及.NET框架4.0设计开发时的一些理念和规划想法。我想在这里和大家分享一下。 从一个较高的角度来讲,我们在Visual Studio 2010和.NET框架4.0中主要关注以

2008-10-06 14:45:00 8301 23

原创 Tlbimp.exe在Codeplex上开源啦!

这是我们这里的CLR Interop开发团队在开源网站codeplex.com上发布的第二个开源工具了。Tlbimp.exe,经常在COM与托管代码之间做编程开发的开发人员应该会对这个工具比较熟悉。它是一个将COM的type library转换生成托管的程序集(interop assembly),供托管代码进行调用的一个非常实用的工具。生成的Interop assembly中包含了与所转换的COM

2008-09-25 15:56:00 1989 2

原创 DLR in Silverlight

DLR(Dynamic Language Runtime)是Silverlight中提供的一套非常强大的动态语言运行时。目前2.0 beta2中支持Python,Ruby和JSX。利用DLR,你可以很方便的使用熟悉的动态语言编写Silverlight程序。本文主要介绍如何在托管语言中调用动态语言。 首先,我们需要初始化动态语言的环境配置,从中获取所有可以使用的动态语言列表,然后得到相应动态

2008-09-18 11:14:00 1141 2

原创 .NET中的虚函数

面向对象的程序设计有三大要素,封装、继承和多态。虚函数是多态的重要组成部分,同时又在类的继承关系中有着很多变化。本文讨论.NET中对虚函数的支持。 首先,我们通过一个例子来看看虚函数的普通用法: class CA {        public virtual void Foo() {            Console.WriteLine("CA.Foo");   

2008-08-21 10:33:00 2010 5

原创 大学生眼中的Silverlight

这次的博客和技术无关,也和Silverlight或CLR的最新发布没什么关系,而是想和大家一起分享一下几个学生在学习用Silverlight技术完成项目之后的一些体会的感想。   最近我在上海交通大学指导几名学生(Jianxun Wang, Jiao Jin, 以及Shanshan Chen)使用Silverlight技术制作校园选课系统,以完成他们的暑期实践项目。从项目概念生成到最后功能成形也不

2008-08-05 14:33:00 1344

原创 在COM应用中使用.NET组件

上一博中,我们用Visual Studio把.NET组件(托管组件)变成了COM服务器。本博继续这个话题,看看如何使用.NET工具包来完成相应的功能。首先我们来看看今天的主题和CLR Interop的关系,在我们组里,interop这个术语包含了四个范畴,即P/Invoke, Reverse P/Invoke, COM Interop和Reverse COM Interop。前二个概念通过动态

2008-07-24 13:01:00 1194

原创 使用IDispatch::Invoke函数在C++中调用C#实现的托管类库方法

CLR Interop简而言之是让非托管代码与托管代码之间可以相互调用的技术。这项技术可以使开发人员重用已有的托管或非托管组建,并根据自己的需要,权衡托管代码的简易性与非托管代码的灵活性,选择适合自己实际情况的编程语言,而不用过多考虑重用的组件是用哪种语言开发的。Interop中文的意思是互通性,既然是互通,代码的调用就有两种不同的方向。本文所要讲述的是使用COM Interop技术在非托管代

2008-07-15 16:07:00 2538

原创 现在就下载开源工具P/Invoke Interop Assistant -- 使用P/Invoke中进行签名转换的好帮手

P/Invoke Interop Assistant是一款帮助使用P/Invoke(及reverse P/Invoke)的开发人员进行托管代码与非托管代码之间签名转换的小工具。在一月份的MSDN杂志的网站上,我们曾经发布过它的第一个版本。经过整个团队的努力,现在我们终于把它搬上微软的开源网站CodePlex,和更多的开发人员共享它为开发工作带来的便捷,并提供全部的源代码,供大家参考和利用。经常

2008-06-17 12:55:00 2799 1

原创 Silverlight 2 Beta 2来了!

不知不觉,离那个“黑色”的日子已经快一个月了。我相信听到四川的地震消息,不少赤诚的中国人(包括我在内)都是眼含热泪度过那些日子的。面对这样的天灾,我们不得不感叹自己的无能与生命的无助。在地震发生后,公司马上举行了捐款,美国总部与大中华地区的员工都参与的捐款,我们很多人都将捐款的数目改了又改,虽说是尽自己的微薄之力,却总觉得自己所能做的还太少,而捐款也是我们所能付出的最好的方式了。一个月过去,再回到

2008-06-05 14:37:00 1779 3

原创 关于团队的一些小小变动

由于某些原因,我们与这里的博客小别了一段时间。并不是因为我们对传播Silverlight的相关知识丧失了激情,也并非这段时间没有Silverlight的相关故事,只是在研发团队内部发生了一些小小的变动,我们在根据变动调整自己,也在根据变动计划将来。细心的朋友一定会发现这个博客的名字有一些小小的改动,CLR的概念被提了上来,也被放在了所有话题的最前面。没错,这两个月来,团队人员发生了一些小小的改

2008-05-12 14:04:00 1716 4

原创 MIX08,迎来Silverlight2的新时代

这周一,看似和往常的周一也没什么不同。我照例总结着Silverlight上海研发团队在过去一周中的工作,并思忖着怎样迎接新一周的挑战。而Silverlight上海研发团队的每个人也同样一如既往的完成计划中的任务。忽然从Redmond飞来一封电子邮件,用很大的标题写着:Silverlight 2 Beta 1 Ships!!!三个强烈的惊叹号。接着是老大们连绵不绝的祝贺信。开发工具部的部门经理徐鹏阳

2008-03-13 02:43:00 2072 4

原创 获取并使用通过Downloader对象下载的内容

在《Silverlight中的Downloader对象》一文中,我们已经了解了一些关于Downloader的基本概念,以及如何使用Downloader来下载文件并根据需要触发一些事件。而本文我们将看一看在下载结束后,该怎样根据需要处理下载下来的文件。处理下载下来的文件一般都在Completed事件的事件处理函数中。大多数情况下,我们需要用Downloader下载的文件可以分为如下几类:包含Si

2008-03-02 20:16:00 1824 1

原创 Silverlight 2不完全新功能列表

在去年底,我们曾经宣布将Silverlight 1.1更名为Silverlight 2.0,并简要的介绍了一下Silverlight 2.0的主要特点及重大改进,强调了它在丰富的交互式应用程序(Rich Interactive Application)上起到的促进作用。现在,我们重新提起它,并将其简称为Silverlight 2,因为再过不多久,Silverlight 2的第一个Beta版本就要正

2008-02-22 17:44:00 2478 2

原创 Silverlight中的Downloader对象(javascript)

 Silverlight中有一个Downloader对象,可以用来下载Silverlight应用程序中相应的文件,比如脚本、媒体文件等等。有了它就可以根据应用程序的具体需要来下载相应的文件,而不必在Silverlight插件初始化的时候就将整个应用程序所需要的文件全部下载下来。这样不仅可以节省用户下载应用程序所花费的等待时间,还可以直接在应用程序中动态使用下载下来的内容而无需刷新整个页面。Do

2008-02-15 16:25:00 2082

原创 鼠年大吉

今天是春节长假前的最后一天。 不知道在这一天里,各位Silverlighter在为什么而忙碌呢?是一如既往的在工作中贡献出自己的智慧,还是为春节假期的计划做着一系列的准备?想到即将到来的长长假期,Silverlight上海研发团队的成员在做鼠年到来前的最后一天的努力,保证各项工作不会因为长假而受影响,尽可能使工作进度和美国Silverlight研发团队保持一致。正如我在元旦新年展望中提到的那样

2008-02-05 15:36:00 1436 1

原创 在Silverlight中使用全屏模式

看到留言中有人提出Silverlight对全屏模式的支持。那就在这里简单的聊一下。Silverlight对全屏模式的支持是内建的,实现方法很简单,在托管代码中,主要通过改变BrowserHost.IsFullScreen这个值来改变全屏模式。当IsFullScreen为True时,应用程序为全屏模式;该值为False时则返回普通浏览器内嵌模式。使用BrowserHost时需要引用System.

2008-01-25 16:46:00 1963

原创 有问题?MSDN Silverlight技术中文技术论坛上找答案!

Silverlight上海研发团队的中文博客开张不到半年,已经得到了很多同行的支持和反馈。其中有不少宝贵的建议,也有很多关于Silverlight开发中遇到的问题。其实无论是建议也好、技术问题也好,都是对Silverlight技术发展的一个有力地推动。看到越来越多的人开始关注Silverlight并使用Silverlight,也是对我们进一步提高Silverlight的稳定性和开发高效性的一种鞭策

2008-01-22 11:01:00 1963

空空如也

空空如也

空空如也
提示
确定要删除当前文章?
取消 删除