.NET Core umożliwia uruchomienie tego samego kawałka kodu na wielu platformach (Windows, Linux, OS X). Pomyślałem zatem, że warto byłoby z tego skorzystać przy projekcie DataBoard i nabyć nowego doświadczenia przy pracy z Linuksem. Jako system operacyjny wybrałem Elementary OS, a jako edytor kodu Visual Studio Code. Visual Studio Code jest tylko edytorem tekstu, który oczywiście można wzbogacić wieloma rozszerzeniami (pojawi się w przyszłości na ten temat oddzielny wpis), a nie zintegrowanym środowiskiem deweloperskim jak jego starszy brat Visual Studio, i tym samym nie umożliwia wygenerowania nowego projektu .NET Core (aplikacji konsolowej czy też webowej). A jak utworzyć nowy projekt .NET Core pod Linuksem dowiecie się dalej z tego wpisu.

.NET Core w chwili obecnej ulega częstym zmianom, dlatego chciałbym zaznaczyć, że poniższy wpis opiera się o wersję 1.0.0-rc4-004771.

Narzędzie .NET Core CLI umożliwia utworzenie projektu na podstawie kilku domyślnych szablonów.

dotnet new

To co mnie najbardziej interesowało to część związana aplikacjami internetowymi. Na pierwszy rzut wybrałem szablon aplikacji MVC.

$ dotnet new mvc

Generowanie projektu trwało 409 ms, a w Visual Studio Code moim oczom ukazała się lista plików.

vscode dotnet new mvc

Jak widać powyżej, powstał szkielet pełnego projektu MVC. Niestety nie wiedziałem dokładnie co, jak i dlaczego zostało wygenerowane, nie wspominając o zawartości plików klas i zależności. Wobec tego wybrałem drugą opcję i utworzyłem pusty projekt aplikacji internetowej.

$ dotnet new web

Tym razem już po 86 ms został wygenerowany, najprostszy z możliwych, startowy projekt aplikacji internetowej.

vscode dotnet new web

Dalej wywołałem:

$ dotnet restore
$ dotnet run

Pierwsze polecenie pobiera zależności (zapisane w pliku DataBoard.csproj), za pomocą menadżera pakietów Nuget, wymagane do uruchomienia aplikacji. Drugie uruchamia aplikację, a w tym konkretnym przypadku również lokalny serwer (Kestrel).

dotnet run

Jeżeli wszystko przebiegło pomyślnie po wpisaniu w przeglądarce adresu http://localhost:5000 powinna się ukazać poniższa strona.

hello world screenshot

Kolekcje domyślnych szablonów można już teraz zwiększyć o szablony SinglePageApplication, zostało to opisane na blogu .NET WebDev. Co więcej każdy może utworzyć swój własny szablon korzystając z tego opisu.

P.S.

Alternatywnie można skorzystać z narzędzia Yeoman, które również pozwala na utworzenie projektu .NET Core na podstawie szablonów. Natomiast ja osobiście się zraziłem do niego, ponieważ w którymś momencie .NET Core przestał korzystać z project.json na rzecz *.csproj (pliki zawierające wszystkie metadane dotyczące projektu oraz zależności), a Yeoman nie zdążył dostosować szablonów do najnowszych zmian w .NET Core, uruchomienie świeżo utworzonego projektu kończyło się niepowodzeniem z powodu nieznalezienia pliku *.csproj.