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