Microsoft 參考源代碼系統更新,有驚喜哦。


在以前,MS的參考源代碼在單步調試時時好用時不好用,最后我找到了原因,那就是如果想用MS的參考源代碼進行單步調試,那么你就得想盡辦法把系統上的.NET FX降級到RTM版本(卸載各種相關補丁),今天我收到了MS的User Voice發來的郵件,告訴我參考源代碼已經升級,不僅RTM版本可用,各個更新后的版本也可用(雖然僅僅針對.NET FX 4.5.1)。

OK,打開 http://blogs.msdn.com/b/dotnet/archive/2014/02/24/a-new-look-for-net-reference-source.aspx。

發現有在線瀏覽功能,和離線打包下載,下載回來的代碼是有解決方案和項目文件的,也就是在VS里面直接能導航等。

在線瀏覽歸功於 http://msdn.microsoft.com/en-US/roslyn ,微軟的Roslyn項目,VS系列編譯器的未來。

在線示例:http://referencesource-beta.microsoft.com/#mscorlib/system/environment.cs

我下了離線源代碼:
http://referencesource-beta.microsoft.com/download.html

然后發現了許多我曾經有興趣並想研究的代碼(包含了部分C++代碼):
DotNetReferenceSource.zip\Source\wpf\src\Shared\detours ,此目錄包含了微軟http://research.microsoft.com/en-us/projects/detours/項目的完整版本,版本號是Version 3.0 Build_306.注意MS上有社區版本,只支持X86,不支持AMD64,而這個是全的,支持X86 AMD64 IA64 ARM,以前在MS網站上賣的很貴的哦(剛才沒找到賣的連接)。

 

DotNetReferenceSource.zip\Source\wpf\src\printing\cpp  此目錄包含了WPF系統打印部分代碼。

 

DotNetReferenceSource.zip\Source\wpf\src\host 此目錄包含WPF的Hosting 系列代碼,就是在瀏覽器里面加載xaml進行渲染的部分。這是我曾經關注的。

 

DotNetReferenceSource.zip\Source\wpf\src\Graphics\include 這個沒代碼,僅有相當於頭文件的c#文件,但研究過WPF底層的朋友們會發現此處有很多結構體,正式WPF托管部分和Native引擎交互通信用的數據交換結構。

 

DotNetReferenceSource.zip\Source\wpf\src\Core\cpp\dwritewrapper C++代碼,沒細看

DotNetReferenceSource.zip\Source\wpf\src\Core\cpp\truetypesubsetter 這個就比較有料了,WPF字體模糊是什么原因估計這部分代碼能讓你明白,他是用來柵格化truetype字體的,wpf的字體不是gdi渲染出來的,有自己的渲染引擎,估計就是這個了。

 

DotNetReferenceSource.zip\Source\vb 這個目錄是相對最完整的,包含了C++代碼的VB源代碼的編譯器,你沒看錯,是編譯器!而且不僅是編譯器,還有很多好東西。

ok,Enjoy Yourself!

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM