原创 #import從.NET DLL生成的Tlb的神祕錯誤

經常看到有朋友問到類似的問題,問題本身不復雜,但是答案不是特別明顯,這裏我把解決方法Post出來和大家共享一下,希望能夠有所幫助。<?xml:namespace prefix = o /> 假設我們有下面的A.cs文件: using

原创 .NET 4.0: Type Equivalency (1) – Byebye,PIA

在.NET 4.0 CTP中,最引人注目的Interop的改進當屬Type Equivalency,又稱之爲NO PIA。在介紹如何使用這個新特性之前,我覺得還是應該從歷史講起,探究我們究竟要解決什麼樣子的問題,過去採用了什麼樣的解決辦法

原创 微軟CLR Interop Team的CodePlex主頁上線!Interop Assistant代碼公開!

經過一段時間的籌備,在Team的幾位PM的共同策劃之下,在CodePlex上面的CLR Interop主頁終於上線了。CodePlex是微軟公司開辦的一個開源網站,上面的項目主要以.NET相關爲主。我們CLR Interop Team決定

原创 TlbImp新版本發佈:/v2 & /preserveSig

兩個星期之前CLR Interop小組再次發佈了TlbImp的新版本。本來是早就應該寫篇Blog介紹一下的,只是一直忙於CLR Interop新功能開發,難以抽出時間。這次版本添加了兩個小功能: 1. /v2開關 在新版本的TlbImp中

原创 MSDN中文網絡廣播預告:.NET 4.0新特性系列課程(2):契約式設計 (Level 200)

這次我將爲大家講解如何使用.NET 4.0中的契約式設計(也可以在.NET 2.0+中使用,需要額外下載安裝包),歡迎有興趣的朋友收聽。 地址爲:http://msevents.microsoft.com/CUI/EventDetail.

原创 .NET 4.0: Type Equivalency (2) - 內嵌類型

上次我們談到了.NET 4.0中爲什麼要引入Type Equivalency這樣一個新功能,這次我們來看一個比較簡單的一個程序: using System; using System.Collections.Generic; usin

原创 Shared Source CLI essentials 第二版將免費

這其實已經不是新聞了但是我還是覺得應該提一下。Shared Source CLI essentials這本書是市面上唯一講解CLR內部實現的書籍,非常具有參考價值。現在這本書的作者正在編寫第二版,而且準備將這本書用PDF和Word文檔的方

原创 Microsoft PDC 2008 Talk在線觀看和下載地址

官方的所有Session的列表:https://sessions.microsoftpdc.com/public/timeline.aspx Channel 9:http://channel9.msdn.com/pdc2008/ 兩個大致

原创 【預告】我主講的MSDN Webcast之二:公共語言運行庫(CLR)開發系列課程(2):Pinvoke 進階(Level 300)

下面是我主講的MSDN Webcast:公共語言運行庫(CLR)開發系列課程的第二講P/Invoke進階的鏈接,有興趣的朋友可以在這裏登記一下: http://msevents.microsoft.com/CUI/WebCastEvent

原创 TlbImp源碼在CodePlex公開!歡迎下載

對.NET中COM Interop比較熟悉的朋友應該都對TlbImp比較瞭解了。這個工具是專門用來將Type Library(類型庫)轉換成對應的Interop Assembly,以便在.NET程序中使用對應的COM組件。這個Intero

原创 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的新

原创 VS 2010 & .NET 4.0 CTP下載地址(10/31放出)

http://www.microsoft.com/downloads/details.aspx?FamilyID=922b4655-93d0-4476-bda4-94cf5f8d4814&DisplayLang=en 有11個RAR分卷壓

原创 現在中國的學生也可以免費使用微軟公司的開發軟件了:DreamSpark計劃

現在中國的學生也可以免費使用微軟公司的開發軟件了: http://www.msuniversity.edu.cn/m_directdownload/introduction.aspx   1.什麼是DreamSpark微軟學生軟件資源? 

原创 Marshal.SizeOf和sizeof的區別

Sizeof在非Unsafe環境下只能用於預定義的一系列類型,如Int,Short等等。而在Unsafe環境下,sizeof可以被用於值類型,但是值類型中不可以有引用類型,否則C#編譯器會報錯: error CS0208: Cannot

原创 ATL:IDispatchImpl, IDispEventImpl, IDispEventSimpleImpl的區別和聯繫

這幾個類都和IDispatch的實現有關係,但是他們提供的IDispatch的實現是不同的。 IDispatchImpl只能用於雙接口(Dual Interface)的實現。IDispatchImpl本身的IDispatch接口實現是使用