W ostatnim czasie Microsoft wprowadził na rynek nowy framework o tajemniczej nazwie .NET Core, który jest na etapie intensywnego rozwoju (obecna wersja — 1.1.1). Czym jest .NET Core? To nowa wersja klasycznego frameworka .NET z założeniem open source, pozwalająca implementować aplikacje zarówno do systemu Windows, jak i Mac oraz Linux (wieloplatformowość). Ze strony Microsoftu to olbrzymia zmiana podejścia — dotąd bowiem skupiał się na rozwijaniu swoich produktów w ramach systemu Windows i poza projektem Mono nie było możliwości tworzenia aplikacji dla innych systemów. .NET Core pozwala implementować jedynie aplikacje konsolowe oraz webowe. W tym artykule przedstawię, w jaki sposób zainstalować framework i napisać prostą aplikację webową ASP .NET MVC w systemie Linux (dokładnie Ubuntu 16.04).   Instalacja frameworka .NET Core  

  • Rejestracja repozytorium .NET Core w systemie Ubuntu:
                        sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list'                         sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893                         sudo apt-get update
  • Instalacja frameworka:
                        sudo apt-get install dotnet-dev-1.0.1

  Instalacja serwera bazodanowego MS SQL Server  

  • Import klucza publicznego repozytorium:
                        curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
  • Rejestracja repozytorium MS SQL Server w systemie Ubuntu:
                        curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list | sudo tee/etc/apt/sources.list.d/mssql-server.list
  • Instalacja serwera bazodanowego:
                        sudo apt-get update                        sudo apt-get install -y mssql-server
  • Konfiguracja zainstalowanego serwera:
                        sudo /opt/mssql/bin/mssql-conf setup

(ustawienie hasła dla administratora serwera, minimum 8 znaków zawierających duże i małe litery oraz cyfry)

  • Instalacja dodatkowych narzędzi do serwera, m.in. sqlcmd:
                        curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -                        curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee/etc/apt/sources.list.d/msprod.list                        sudo apt-get update                         sudo apt-get install mssql-tools unixodbc-dev
  • Dodanie ścieżki z narzędziami do ścieżki systemowej:
                        echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc                        source ~/.bashrc
  • Sprawdzenie statusu usługi mssql-server:
                        sudo systemctl status mssql-server

(status Active oznacza poprawne działanie serwera)   Instalacja środowiska Visual Studio Code  

  • Pobranie paczki instalacyjnej:
                        curl -O

Link do pobrania TU.

  • Instalacja środowiska IDE:
                        sudo dpkg -i code_1.11.2-1492070517_amd64.deb                        sudo apt-get install -f

Po pomyślnej instalacji środowiska IDE znajdziemy w systemie platformę pod nazwą Visual Studio Code. Po uruchomieniu naszym oczom ukazuje się środowisko IDE, podobne do Visual Studio z systemu Windows.     Utworzenie nowego projektu ASP .NET MVC  

  • Utworzenie katalogu projektu:
                        mkdir ProductsAspNetCore
  • Utworzenie projektu:
                        dotnet new mvc
  • Pobranie niezbędnych paczek do uruchomienia aplikacji:
                        dotnet restore
  • Uruchomienie aplikacji webowej:
                        dotnet run

  Domyślnie aplikacja uruchamia się na porcie 5000. Po wpisaniu w przeglądarce adresu   http:\\localhost:5000 ukazuje się domyślna strona aplikacji.   Otwarcie projektu w środowisku Visual Studio Code  

  • Uruchamiamy Visual Studio Code i po lewej stronie wybieramy opcję Open folder. Wybieramy katalog, w którym wcześniej utworzyliśmy nowy projekt, i klikamy Open.

Po otwarciu projektu możemy podejrzeć, w jaki sposób zorganizowane są źródła. Poniżej przedstawiam opis najważniejszych plików/katalogów:

  • json — główny plik konfiguracyjny projektu. Pozwala zdefiniować np. connectionString do bazy danych;
  • json — plik zależności dla projektu;
  • json — plik konfiguracyjny dla plików JS i CSS;
  • Controllers — katalog zawierający wszystkie kontrolery aplikacji;
  • cs — klasa opisująca uruchomienie aplikacji, m.in. port;
  • cs — klasa konfigurująca obsługę wszystkich żądań HTTP w aplikacji;
  • Views — katalog zawierający wszystkie widoki aplikacji;
  • wwwroot — katalog główny aplikacji webowej; umieszczamy w niej m.in. pliki CSS, JS itd.

  W kolejnym artykule pokażę jak napisać prostą aplikację webową z wykorzystaniem .NET Core oraz silnika bazodanowego MS SQL Server on Linux.  

Krzysztof Goljasz

devgeek.pl