Загружаемая / доступная для просмотра версия исходного кода.NET Framework?
Теперь, когда исходный код.NET Framework сделан доступным, есть ли способ на самом деле просмотреть его, не используя Visual Studio для перехода в класс Framework? Несколько раз мне было любопытно, как что-то работает, и хотелось, чтобы я мог взглянуть на какой-то код, но не хотелось собирать приложение и делать вскрытие в отладчике.
Мой гугл-фу подвел меня, предоставляя мне только сообщения в блоге, сообщающие о том, что источник доступен. (Спасибо, блогосфера!) Я был уверен, что кто-то уже выложил бы все это в Интернете.
8 ответов
Есть разные способы посмотреть на исходный код.NET: онлайн через браузер:
- http://www.dotnetframework.org/
http://typedescriptor.net/browse- https://github.com/Microsoft/referencesource
Загрузить:
- http://referencesource.microsoft.com/netframework.aspx
- http://referencesource.microsoft.com/
- http://sourceof.net/
Microsoft разместила git-репозиторий ASP.NET здесь:
https://aspnet.codeplex.com/SourceControl/latest
Дополнительно:
- Массовый загрузчик: http://www.wintellect.com/blogs/jrobbins/download-all-the-net-reference-source-code-at-once-with-net-mass-downloader
- Средство просмотра исходного кода CLI Online: http://labs.developerfusion.co.uk/SourceViewer/browse.aspx?assembly=SSCLI
Повеселись!
Просто обнаружил это:
http://referencesource-beta.microsoft.com/
Хотя это все еще в бета-версии, это кажется очень полезным.
Я был разочарован тем, как развернут исходный код. Я хотел скачать и искать или просматривать код, как вы.
Я установил код soure и скопировал весь код soure в отдельную папку. В моем случае, H:\CodeLibrary\dotNetSource. Затем я удалил исходный код.
Источник разбросан по многочисленным папкам. Поэтому поиск, копирование или перемещение занимает много времени. Я перебрал папки, переместив весь источник в одну папку. Теперь поиск по исходному коду легко выполнять с помощью службы индексирования или поиска рабочего стола Windows.
Например, мне нужно было пересмотреть код для TrackBar. Я набрал "@filename trackbar.cs" в моей утилите поиска и бинго.
Я не могу сказать вам, как важно иметь источник, который можно щелкнуть парой. При проектировании я, вероятно, искал исходный код не менее десятка раз в день.
Я всегда просто использую Reflector - просто загрузите сборку.Net, выделите интересующий вас класс / метод, нажмите пробел, и все готово. Он помещает ссылки повсюду, так что вы просто нажимаете на тип, и он приведет вас к коду для этого.
Он будет немного отличаться от реального исходного кода, поскольку в основном это декомпилятор, но этого все еще достаточно, чтобы увидеть, как работают различные классы фреймворка.
Ну, что вы знаете, через две минуты я снова настраиваю условия поиска и что-то нахожу: NetMassDownloader
Все еще не совсем то, что я имел в виду, хотя...
Microsoft разместила git-репозиторий ASP.NET здесь:
Отличный ресурс, не только для.NET это. Здесь также есть все, что вы можете придумать (например, EF)
[РЕДАКТИРОВАТЬ]
Проект кажется мертвым сейчас.
Также исходная страница Microsoft вышла из бета-версии. Вероятно, это причина мертвого проекта.
Итак, как уже указывалось в других ответах, http://referencesource.microsoft.com/ является официальным местом.