Szukaj…


Uwagi

.NET Core to platforma programistyczna ogólnego zastosowania obsługiwana przez Microsoft i społeczność .NET na GitHub. Jest wieloplatformowy, obsługuje systemy Windows, macOS i Linux, i może być używany w scenariuszach urządzeń, chmury i osadzonych / IoT.

Następujące cechy najlepiej definiują .NET Core:

  • Elastyczne wdrażanie: może być zawarte w aplikacji lub instalowane równolegle na poziomie użytkownika lub maszyny.
  • Wieloplatformowy: Działa w systemach Windows, macOS i Linux; można przenieść na inne systemy operacyjne. Obsługiwane systemy operacyjne (OS), procesory i scenariusze aplikacji będą z czasem rosnąć, dostarczane przez Microsoft, inne firmy i osoby fizyczne.
  • Narzędzia wiersza polecenia: Wszystkie scenariusze produktu można wykonywać z wiersza polecenia.
  • Kompatybilny: .NET Core jest kompatybilny z .NET Framework, Xamarin i Mono, poprzez - .NET Standard Library.
  • Otwarte źródło: platforma .NET Core jest oprogramowaniem typu open source, wykorzystującym licencje MIT i Apache 2. Dokumentacja jest licencjonowana na licencji CC-BY. .NET Core to projekt .NET Foundation.
  • Obsługiwane przez Microsoft: .NET Core jest obsługiwany przez Microsoft, zgodnie z .NET Core Support

Wersje

Wersja Informacje o wydaniu Data wydania
RC1 * 1.0.0-rc1 18.11.2015
RC2 * 1.0.0-rc2 2016-05-16
1.0.0 1.0.0 27.06.2016
1.0.1 1.0.1 13.09.2016
1.1 1.1 16.11.2016

Instalacja i konfiguracja

Instalowanie programu Visual Studio

Jeśli nie masz zainstalowanego programu Visual Studio, możesz pobrać bezpłatną wersję Visual Studio Community Edition tutaj . Jeśli masz już zainstalowany, możesz przejść do następnego kroku.

Tworzenie aplikacji ASP.NET Core MVC.

  1. Otwórz Visual Studio.
  2. Wybierz Plik> Nowy projekt.
  3. Wybierz Sieć pod wybranym językiem w sekcji Szablony po lewej stronie.
  4. Wybierz preferowany typ projektu w oknie dialogowym.
  5. Opcjonalnie: wybierz .NET Framework, na który chcesz kierować reklamy
  6. Nazwij swój projekt i wskaż, czy chcesz utworzyć Rozwiązanie dla projektu.
  7. Kliknij OK, aby utworzyć projekt.

wprowadź opis zdjęcia tutaj

Zostanie wyświetlone inne okno dialogowe umożliwiające wybranie szablonu, którego chcesz użyć w projekcie:

wprowadź opis zdjęcia tutaj

Każdy z opisów jest zrozumiały. W przypadku tego pierwszego projektu wybierz opcję Aplikacja internetowa , która będzie zawierać wszystkie domyślne konfiguracje, uwierzytelnianie i niektóre istniejące treści.

Ponieważ jest to aplikacja wprowadzająca i nie wymaga żadnych zabezpieczeń ani uwierzytelniania, możesz zmienić opcję uwierzytelniania na Brak uwierzytelnienia po prawej stronie okna dialogowego i kliknąć OK, aby utworzyć projekt .

Powinieneś wtedy zobaczyć nowy projekt w Eksploratorze rozwiązań:

wprowadź opis zdjęcia tutaj

Naciśnij klawisz F5, aby uruchomić aplikację i rozpocząć sesję debugowania, która uruchomi aplikację w domyślnej przeglądarce:

wprowadź opis zdjęcia tutaj

Teraz możesz zobaczyć, że Twój projekt działa lokalnie i jest gotowy jako punkt wyjścia do zbudowania aplikacji.

Utwórz nowy projekt z wiersza poleceń

Możliwe jest utworzenie nowego projektu ASP.NET Core całkowicie z wiersza poleceń za pomocą polecenia dotnet .

dotnet new web
dotnet restore
dotnet run

dotnet new web rusztowania dotnet new web „pusty” projekt internetowy. Parametr web mówi narzędziu dotnet , aby używało ASP.NET Core Empty szablonu ASP.NET Core Empty . Użyj dotnet new -all aby wyświetlić wszystkie aktualnie zainstalowane szablony. Inne kluczowe szablony to console , classlib , mvc i xunit .

Po rusztowaniu szablonu możesz przywrócić pakiety wymagane do uruchomienia projektu ( dotnet restore ), a także skompilować i uruchomić go ( dotnet run ).

Po uruchomieniu projekt będzie dostępny na domyślnym porcie: http: // localhost: 5000

Minimalne ASP.NET Core Web API z ASP.NET Core MVC

W programie ASP.NET Core 1.0 ramy MVC i Web API zostały połączone w jedną platformę o nazwie ASP.NET Core MVC. To dobrze, ponieważ MVC i Web API mają wiele funkcji, jednak zawsze istniały subtelne różnice i powielanie kodu.

Jednak połączenie tych dwóch ram w jeden z nich utrudniło również ich odróżnienie. Na przykład Microsoft.AspNet.WebApi reprezentuje strukturę Web API 5.xx, a nie nową. Ale po dołączeniu Microsoft.AspNetCore.Mvc (wersja 1.0.0 ) otrzymujesz pełny pakiet. Będzie on zawierał wszystkie gotowe funkcje oferowane przez platformę MVC. Takie jak Razor, pomocniki tagów i wiązanie modeli.

Gdy chcesz tylko zbudować interfejs API sieci Web, nie potrzebujemy wszystkich tych funkcji. Jak więc zbudować minimalistyczny internetowy interfejs API? Odpowiedź brzmi: Microsoft.AspNetCore.Mvc.Core . W nowym świecie MVC jest podzielony na wiele pakietów, a ten pakiet zawiera tylko podstawowe elementy frameworka MVC, takie jak routing i autoryzacja.

W tym przykładzie utworzymy minimalny interfejs API MVC. W tym formatyzator JSON i CORS. Utwórz pustą aplikację sieci Web ASP.NET Core 1.0 i dodaj te pakiety do projektu.json:

"Microsoft.AspNetCore.Mvc.Core": "1.0.0",
"Microsoft.AspNetCore.Mvc.Cors": "1.0.0",
"Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.0"

Teraz możemy zarejestrować MVC za pomocą AddMvcCore() w klasie startowej:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvcCore()
            .AddCors()
            .AddJsonFormatters();
}

AddMvcCore zwraca instancję IMvcCoreBuilder która umożliwia dalsze budowanie. Konfiguracja oprogramowania pośredniego jest taka sama jak zwykle:

public void Configure(IApplicationBuilder app)
{
    app.UseCors(policy =>
    {
        policy.AllowAnyOrigin();
    });
    app.UseMvc();
}

Kontrolery

„Stary” interfejs API sieci Web ma własną klasę bazową kontrolera: ApiController . W nowym świecie nie ma czegoś takiego, tylko domyślna klasa Controller . Niestety jest to dość duża klasa bazowa i jest powiązana z wiązaniem modeli, widokami i JSON.NET.

Na szczęście w nowej strukturze klasy kontrolerów nie muszą pochodzić od Controller aby zostać przechwyconym przez mechanizm routingu. Wystarczy dodać nazwę do Controller . To pozwala nam zbudować własną klasę bazową kontrolera. Nazwijmy to ApiController , na wszelki ApiController :

/// <summary>
/// Base class for an API controller.
/// </summary>
[Controller]
public abstract class ApiController
{
    [ActionContext]
    public ActionContext ActionContext { get; set; }

    public HttpContext HttpContext => ActionContext?.HttpContext;

    public HttpRequest Request => ActionContext?.HttpContext?.Request;

    public HttpResponse Response => ActionContext?.HttpContext?.Response;

    public IServiceProvider Resolver => ActionContext?.HttpContext?.RequestServices;
}

Atrybut [Controller] wskazuje, że typ lub dowolny typ pochodny jest uważany za kontroler przez domyślny mechanizm wykrywania kontrolera. [ActionContext] określa, że właściwość powinna być ustawiona z bieżącym ActionContext gdy MVC tworzy kontroler. ActionContext zawiera informacje o bieżącym żądaniu.

ASP.NET Core MVC oferuje także klasę ControllerBase która zapewnia klasę bazową kontrolera bez obsługi widoków. Jest jednak nadal znacznie większy niż nasz. Użyj go, jeśli uznasz to za wygodne.

Wniosek

Możemy teraz zbudować minimalny interfejs API sieci Web przy użyciu nowego środowiska ASP.NET Core MVC. Modułowa struktura pakietów pozwala nam po prostu pobrać potrzebne pakiety i stworzyć uproszczoną i prostą aplikację.

Wykorzystanie kodu Visual Studio do opracowania aplikacji Core plateform aspnet core

Dzięki AspNetCore możesz rozwijać aplikację na dowolnej platformie, w tym Mac, Linux, Window i Docker.

Instalacja i konfiguracja

  1. Zainstaluj stąd Visual Studio Code
  2. Dodaj C # extesnion
  3. Zainstaluj dot net core sdk. Możesz zainstalować stąd

Teraz masz wszystkie dostępne narzędzia. Aby opracować aplikację. Teraz potrzebujesz opcji rusztowania. W tym celu powinieneś rozważyć użycie Yeoman. Aby zainstalować Yeoman

  1. Zainstaluj NPM. W tym celu potrzebujesz węzła na swoim komputerze. Zainstaluj stąd

  2. Zainstaluj Yeoman za pomocą NPM

    npm zainstaluj -g yo

  3. Teraz zainstaluj generator aspnet

    npm install -g generator-aspnet

Teraz mamy całą konfigurację na twoim komputerze. Najpierw stwórzmy nowy projekt za pomocą podstawowego polecenia DotNetCore, a następnie utwórz nowy projekt za pomocą Yo.

Nowy projekt za pomocą wiersza polecenia

  1. Utwórz nowy folder projektu

    mkdir CoreApplication cd CoreApplication

  2. Rusztuj bardzo prosty projekt dotnet przy użyciu domyślnej opcji wiersza poleceń

    dotnet Nowość

Nowy projekt

  1. Przywróć pakiety i uruchom aplikację

    dotNet przywróć uruchomienie dotnet wprowadź opis zdjęcia tutaj

Użyj Yeoman jako opcji rusztowania

Utwórz folder projektu i uruchom polecenie Yo

yo aspnet

Yeoman zapyta o dane wejściowe, takie jak typ projektu, nazwa projektu itp

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Teraz przywróć pakiety, uruchamiając polecenie dotnet restore i uruchom aplikację

Do opracowania aplikacji użyj kodu VS

Uruchom kod studia wizualnego jak wprowadź opis zdjęcia tutaj

Teraz otwórz pliki i uruchom aplikację. Możesz także przeszukać rozszerzenie w celu uzyskania pomocy.

Skonfiguruj zmienną środowiskową w programie ASP.NET Core [Windows]

=> Oryginalny post <=

Program ASP.NET Core używa zmiennej środowiskowej ASPNETCORE_ENVIRONMENT celu ustalenia bieżącego środowiska. Domyślnie, jeśli uruchomisz aplikację bez ustawiania tej wartości, automatycznie przejdzie ona do środowiska Production .

> dotnet run
Project TestApp (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation.

Hosting environment: Production  
Content root path: C:\Projects\TestApp  
Now listening on: http://localhost:5000  
Application started. Press Ctrl+C to shut down. 

Ustawianie zmiennej środowiskowej w systemie Windows

W wierszu poleceń

Możesz łatwo ustawić zmienną środowiskową z wiersza polecenia, używając polecenia setx.exe zawartego w systemie Windows. Możesz go użyć do łatwego ustawienia zmiennej użytkownika:

>setx ASPNETCORE_ENVIRONMENT "Development"

SUCCESS: Specified value was saved.

Zauważ, że zmienna środowiskowa nie jest ustawiona w bieżącym otwartym oknie. Będziesz musiał otworzyć nowy wiersz polecenia, aby zobaczyć zaktualizowane środowisko. Możliwe jest również ustawienie zmiennych systemowych (a nie tylko zmiennych użytkownika), jeśli otworzysz administracyjny wiersz poleceń i dodasz przełącznik / M:

>setx ASPNETCORE_ENVIRONMENT "Development" /M

SUCCESS: Specified value was saved.

Korzystanie z programu PowerShell Alternatywnie możesz użyć programu PowerShell, aby ustawić zmienną. W PowerShell, podobnie jak normalne zmienne użytkownika i systemowe, możesz również utworzyć zmienną tymczasową za pomocą polecenia $Env: :

$Env:ASPNETCORE_ENVIRONMENT = "Development"

Utworzona zmienna trwa tylko przez czas trwania sesji PowerShell - po zamknięciu okna środowisko powraca do wartości domyślnej.

Alternatywnie można ustawić bezpośrednio zmienne środowiskowe użytkownika lub systemu. Ta metoda nie zmienia zmiennych środowiskowych w bieżącej sesji, dlatego konieczne będzie otwarcie nowego okna programu PowerShell, aby zobaczyć zmiany. Tak jak poprzednio, zmiana zmiennych systemowych (maszynowych) będzie wymagała dostępu administracyjnego

[Environment]::SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development", "User")
[Environment]::SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development", "Machine")

Korzystanie z panelu sterowania systemu Windows Jeśli nie jesteś fanem wiersza poleceń, możesz łatwo zaktualizować zmienne za pomocą myszy! Kliknij przycisk menu Start systemu Windows (lub naciśnij klawisz Windows), wyszukaj environment variables i wybierz Edytuj środowisko zmienne dla twojego konta: wprowadź opis zdjęcia tutaj

Wybranie tej opcji spowoduje otwarcie okna dialogowego Właściwości systemu wprowadź opis zdjęcia tutaj

Kliknij Zmienne środowiskowe, aby wyświetlić listę bieżących zmiennych środowiskowych w systemie. wprowadź opis zdjęcia tutaj

Zakładając, że nie masz jeszcze zmiennej o nazwie ASPNETCORE_ENVIRONMENT , kliknij przycisk Nowy ... i dodaj nową zmienną środowiskową konta: wprowadź opis zdjęcia tutaj Kliknij przycisk OK, aby zapisać wszystkie zmiany. Będziesz musiał ponownie otworzyć wszystkie okna poleceń, aby upewnić się, że załadowane są nowe zmienne środowiskowe.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow