Jak i gdzie przeglądać kody źródłowe .NET Framework, .NET Core 5. ASP. NET 5

Jak wiemy Microsoft powołał projekt udostępnienia kodu źródłowego .NET-a. O czym można poczytać na tym blogu .NET.  Są tam opisane szczegóły dotyczące motywów działania,  jak i planów na przyszłość, które są obiecujące.

Zachęcam do przeglądania tego udostępnionego kodu i nauki programowania poprzez podpatrywanie rozwiązań stosowanych przez kolegów z zespołu tworzącego .NET. Osobiście od jakiegoś czasu używam poniższych stron do badania jak klasy stosowane na co dzień są zbudowane.

  1. http://www.dotnetfoundation.org/projects  – szukanie odpowiednich kodów źródłowych zaczynam właśnie od tej strony. Są tam wszystkie projekty związane z platformą .NET. Na każdej (prawie) stronie projektu jest link do kodów źródłowych.

W ostatnim poście pisałem o filtrach autoryzujących w MVC i używałem dziedziczenia po klasie AuthorizeAttribute. Aby podpatrzeć jak wygląda ta właśnie klasa wystarczy wejść na link powyżej wybrać ASP.NET MVC, Web API and Web Pages (Razor) potem Project Code Site i już jesteśmy w kodzie źródłowym.

Dla różnych projektów kody źródłowe są w różnych repozytoriach część jest na CodePlex a część na GitHub-ie.

Następnie wybieramy katalog src w którym zawsze znajdziemy kod źródłowy. Potem odszukujemy swoją klasę na podstawię przestrzeni nazw i gotowe. Klasa AuthorizeAttribute gotowa do przeglądania.

Dużo cennych uwag zawartych jest w komentarzach. Komentarze mogą ułatwić zrozumienie kodu jak i mogą wprowadzić w zakłopotanie. Nie które komentarze są bardzo ludzkie. Można o tym poczytać tutaj.

  1. http://referencesource.microsoft.com/ – na tej stronie można przeglądać kod źródłowy już samego .NET-a. Strona jest ok. Ale kod się przegląda ciężko. Na stronie poniżej cały ten kod jest zaimportowany do GitHub-a
  1. https://github.com/Microsoft/referencesource –  tutaj cały kod z powyższego linku jest w formie przystępnego repozytorium dla każdego dewelopera. Kod przegląda się wygodnie i łatwo też szukać potrzebnych klas.

Następna strona dotyczy już samego projektu .NET Core. Wyjaśnienie niuansów miedzy .NET a .NET Core i tego jak to się wszystko ma do ASP. NET można znaleźć tutaj http://stackoverflow.com/questions/26908049/what-is-a-net-core

Krótko mówiąc .NET Core to  wersja .NET Framework-a (obecna wersja 4.5.3), która będzie spełniała 3 założenia:

  • będzie posiadać otwarty kod,
  • będzie multi-platformowa,
  • będzie możliwość jej dostosowania do własnych potrzeb.
  1. https://github.com/dotnet/corefx  cały projekt .NET Core w repozytorium github-a. Polecam zapisać się do powiadomień, ponieważ można wyczytać wiele ciekawych informacji od chłopaków zajmujących się rozwojem .NET Core-a

UPDATE:

  1. https://github.com/dotnet – w tym miejscu znajdziemy wszystkie projekty .NET Foundation