我知道I can set up Visual Studio to debug through the .NET framework source code。從Visual Studio瀏覽.NET Framework源代碼
但有沒有一種方法可以在不調試時瀏覽代碼 - 即能夠按F12或「進入定義」?
我認爲,如果該功能沒有內置到Visual Studio中,那麼可能有插件可能會添加它?
我知道I can set up Visual Studio to debug through the .NET framework source code。從Visual Studio瀏覽.NET Framework源代碼
但有沒有一種方法可以在不調試時瀏覽代碼 - 即能夠按F12或「進入定義」?
我認爲,如果該功能沒有內置到Visual Studio中,那麼可能有插件可能會添加它?
我剛剛發現這個擴展,幾乎解決了我的問題。唯一的一點是,它在瀏覽器中而不是在Visual Studio中打開源代碼,但沒什麼大不了的,因爲即使在瀏覽器中,您也可以單擊源代碼導航到類型等。
這是presented on Scott Hanselman's blog幾個天前:
社區成員和神話般的編碼器Schabse Laks已創建VS2010,2012和2013的Visual Studio擴展!此擴展將呼叫直接發送到「轉到定義」(或在符號上按F12)到代碼中(當它是.NET Framework代碼時,不是您的代碼)。
您可以download this companion "Ref12" Visual Studio Extension now!只需轉到任何.NET類型的定義,我們有源代碼,它將啓動您的默認瀏覽器,以便您可以親自瀏覽.NET Framework源代碼!感謝Schabse!
不適用於Resharper – 2015-07-28 05:57:01
不適用於webapi,無論是外觀 – War 2015-09-16 15:19:19
當然 - 這是VS在調試模式下使用的(當在上面的鏈接中設置時)。但是,我如何設置VS,以便在我不調試時可以找到並顯示源代碼? – 2012-03-14 04:25:36
鏈接是http://referencesource.microsoft.com/ – juFo 2015-03-09 08:54:53
還有就是.NET Mass Downloader,但我想簡單回答你的問題是,沒有。
但是我現在看到微軟已經讓代碼更容易下載。
儘管如此,即使對於你自己的代碼,如果不進行調試,除非你打開項目,VS並不能幫助你找到源代碼(即使你自己找到它,當你再次開始調試時,如果.pdb
文件相對應)。
我從這裏下載了.NET Framework源代碼http://referencesource.microsoft.com/netframework.aspx。
由於我使用.NET 4.0,我從列表中選擇「.Net/4」。 (什麼是」 .NET/8.0" ,在列表中不知道?)
我寫了一些腳本來重新安排他們給我們的血腥的混亂:
然後按照下列步驟操作:
智能感知/ ReSharper仍然抱怨堆的問題,但現在我可以右鍵單擊並選擇「轉到聲明/實施」。
加載此項目時,Visual Studio約爲600MB。
你能分享你的腳本或最終的.sln文件嗎? – Felix 2013-01-05 04:54:35
是的,分享最終結果會很棒,所以其他人不必做同樣的「無聊」重命名程序等等。 – 2013-08-14 08:22:40
我正在使用Visual Studio 2013 Ultimate。
選擇菜單:TOOLS \擴展和更新...
2.選擇Visual Studio庫\搜索結果。搜索條件:Ref12
。
下載然後安裝。
4.重新啓動Visual Studio。
5.嘗試:點擊類或方法,按F12鼠標,看看在http://referencesource.microsoft.com/
謝謝,但這是我在1年前發佈的答案的複本。 – 2017-03-21 04:41:49
結果和ReSharper的有可能通過使ReSharper的瀏覽.NET源 - >選項 - >工具 - >外部來源 - >導航到來源。 啓用此選項後,右鍵單擊類型/方法/任何內容,會出現新的菜單項「導航至 - >反編譯源碼」。 導航也適用於我的F12。
它只顯示接口信息,但不顯示實際的源代碼(方法的內容)本身。或者我做錯了什麼? – 2017-05-13 16:14:34
對不起。我的錯。它現在有效。我想我必須重建;-) 甜!現在我可以將F12轉換成.NET資源! – 2017-05-13 16:25:39
只有在解決方案中加載了項目以便IntelliSense可以解析它們時,此功能才能正常工作。很明顯,你不需要一個構建所有.NET框架程序集的解決方案。 – 2012-05-21 17:57:26