Udostępnij za pośrednictwem


Samouczek: publikowanie aplikacji konsolowej .NET

Niniejszy samouczek pokazuje, jak opublikować aplikację konsolową, aby inni użytkownicy mogli ją uruchomić. Publikowanie tworzy zestaw plików potrzebnych do uruchomienia aplikacji. Aby wdrożyć pliki, skopiuj je na maszynę docelową.

Wymagania wstępne

Opublikuj aplikację

  1. Uruchom Visual Studio.

  2. Otwórz projekt HelloWorld utworzony w Utwórz aplikację konsolową .NET.

  3. Upewnij się, że Visual Studio używa konfiguracji kompilacji 'Release'. W razie potrzeby zmień ustawienie konfiguracji kompilacji na pasku narzędzi z Debuguj na Wydanie.

    Pasek narzędzi Visual Studio z wybraną wersją produkcyjną.

  4. Kliknij prawym przyciskiem myszy projekt HelloWorld (a nie rozwiązanie HelloWorld ), a następnie wybierz polecenie Publikuj z menu.

    Visual Studio Menu kontekstowe Publikuj.

  5. Na karcie Target na stronie Publish (Publikowanie) wybierz pozycję Folder, a następnie wybierz pozycję Next(Dalej).

    Wybierz cel publikowania w Visual Studio.

  6. Na określonej karcie Cel na stronie Publikowanie wybierz pozycję Folder, a następnie wybierz pozycję Dalej.

    Wybierz określony element docelowy publikowania w Visual Studio.

  7. Na karcie Lokalizacja na stronie Publikowanie wybierz pozycję Zakończ.

    Visual Studio karta Lokalizacja strony publikowania.

  8. Na stronie Postęp tworzenia profilu publikowania wybierz pozycję Zamknij.

  9. Na karcie Publikowanie w oknie Publikowanie wybierz pozycję Publikuj.

    Okno publikowania w Visual Studio

  1. Uruchom Visual Studio Code.

  2. Otwórz folder projektu HelloWorld utworzony w Utwórz aplikację konsolową .NET.

  3. Wybierz pozycję View>Terminal z menu głównego.

    Terminal zostanie otwarty w folderze HelloWorld.

  4. Uruchom następujące polecenie:

    dotnet publish
    

    Domyślna konfiguracja kompilacji to Release, która jest odpowiednia dla wdrożonej witryny działającej na produkcji. Dane wyjściowe z konfiguracji kompilacji 'Release' zawierają minimalne informacje symboliczne do debugowania i są w pełni zoptymalizowane.

    Dane wyjściowe polecenia są podobne do następującego przykładu:

    Restore complete (1.1s)
      HelloWorld net10.0 succeeded (7.8s) → bin\Release\net10.0\publish\
    
    Build succeeded in 10.3s
    
  1. Otwórz GitHub Codespace utworzony w Utwórz aplikację konsolową .NET.

  2. Dodaj następujący wiersz kodu na początku HelloWorld.cs:

    #:property PublishAot=false
    

    Ta dyrektywa właściwości wyłącza natywną kompilację ahead-of-time (AOT), a aplikacja będzie używać standardowego kompilatora just-in-time (JIT) w czasie wykonywania. Opublikowane dane wyjściowe będą zależne od struktury.

  3. W terminalu upewnij się, że jesteś w folderze tutorials .

  4. Uruchom następujące polecenie:

    dotnet publish HelloWorld.cs
    

    Polecenie tworzy niezależny plik wykonywalny.

    Dane wyjściowe polecenia są podobne do następującego przykładu:

    Restore complete (0.5s)
      HelloWorld net10.0 succeeded (4.0s) → artifacts\HelloWorld\
    
    Build succeeded in 5.1s
    

Sprawdzanie plików

Domyślnie proces publikowania tworzy wdrożenie zależne od platformy, czyli typ wdrożenia, w którym opublikowana aplikacja jest uruchamiana na maszynie, na której zainstalowano środowisko uruchomieniowe .NET. Użytkownicy mogą uruchamiać opublikowaną aplikację, klikając dwukrotnie plik wykonywalny lub wydając polecenie dotnet HelloWorld.dll w wierszu polecenia.

W poniższych krokach przyjrzysz się plikom utworzonym przez proces publikowania.

  1. W Solution Explorer wybierz pozycję Pokaż wszystkie pliki.

    Opcja „Pokaż wszystkie pliki” w Eksploratorze rozwiązań.

  2. W folderze projektu rozwiń bin/Release/{net}/publish. (Gdzie {net} jest folderem platformy docelowej, takim jak net10.0).

    Solution Explorer pokazujące opublikowane pliki.

    Jak pokazano na obrazie, opublikowane dane wyjściowe zawierają następujące pliki:

    • HelloWorld.deps.json

      Jest to plik zależności środowiska uruchomieniowego aplikacji. Definiuje on składniki .NET i biblioteki (w tym dynamiczną bibliotekę linków zawierającą aplikację) potrzebne do uruchomienia aplikacji. Aby uzyskać więcej informacji, zobacz pliki konfiguracji środowiska uruchomieniowego .

    • HelloWorld.dll

      Jest to wersja wdrożenia zależna od frameworka aplikacji. Aby wykonać tę dynamiczną bibliotekę linków, wprowadź dotnet HelloWorld.dll w wierszu polecenia. Ta metoda uruchamiania aplikacji działa na dowolnej platformie z zainstalowanym środowiskiem uruchomieniowym .NET.

    • HelloWorld.exe

      Jest to zależny od frameworku plik wykonywalny wersji aplikacji . Aby go uruchomić, wprowadź HelloWorld.exe w wierszu polecenia. Plik jest specyficzny dla systemu operacyjnego.

    • HelloWorld.pdb (opcjonalnie do wdrożenia)

      Jest to plik symboli debugowania. Nie musisz wdrażać tego pliku wraz z aplikacją, chociaż należy zapisać go w przypadku konieczności debugowania opublikowanej wersji aplikacji.

    • HelloWorld.runtimeconfig.json

      Jest to plik konfiguracji środowiska uruchomieniowego aplikacji. Identyfikuje wersję .NET, na podstawie których aplikacja została skompilowana do uruchomienia. Możesz również dodać do niej opcje konfiguracji. Aby uzyskać więcej informacji, zobacz .NET ustawienia konfiguracji środowiska uruchomieniowego.

Domyślnie proces publikowania tworzy wdrożenie zależne od platformy, czyli typ wdrożenia, w którym opublikowana aplikacja jest uruchamiana na maszynie, na której zainstalowano środowisko uruchomieniowe .NET. Aby uruchomić opublikowaną aplikację, możesz użyć pliku wykonywalnego lub uruchomić polecenie dotnet HelloWorld.dll w wierszu polecenia.

W poniższych krokach przyjrzysz się plikom utworzonym przez proces publikowania.

  1. Wybierz Explorer na lewym pasku nawigacyjnym.

  2. Rozwiń bin/Release/net10.0/publish.

    Eksplorator przedstawiający opublikowane pliki

    Jak pokazano na obrazie, opublikowane dane wyjściowe zawierają następujące pliki:

    • HelloWorld.deps.json

      Jest to plik zależności środowiska uruchomieniowego aplikacji. Definiuje on składniki .NET i biblioteki (w tym dynamiczną bibliotekę linków zawierającą aplikację) potrzebne do uruchomienia aplikacji. Aby uzyskać więcej informacji, zobacz pliki konfiguracji środowiska uruchomieniowego .

    • HelloWorld.dll

      Jest to wersja wdrożenia zależna od frameworka aplikacji. Aby uruchomić tę bibliotekę linków dynamicznych, wprowadź dotnet HelloWorld.dll w wierszu polecenia. Ta metoda uruchamiania aplikacji działa na dowolnej platformie z zainstalowanym środowiskiem uruchomieniowym .NET.

    • HelloWorld.exe (HelloWorld w systemie Linux lub macOS).

      Jest to zależny od frameworku plik wykonywalny wersji aplikacji . Plik jest specyficzny dla systemu operacyjnego.

    • HelloWorld.pdb (opcjonalnie do wdrożenia)

      Jest to plik symboli debugowania. Nie musisz wdrażać tego pliku wraz z aplikacją, chociaż należy zapisać go w przypadku konieczności debugowania opublikowanej wersji aplikacji.

    • HelloWorld.runtimeconfig.json

      Jest to plik konfiguracji środowiska uruchomieniowego aplikacji. Identyfikuje wersję .NET, na podstawie których aplikacja została skompilowana do uruchomienia. Możesz również dodać do niej opcje konfiguracji. Aby uzyskać więcej informacji, zobacz .NET ustawienia konfiguracji środowiska uruchomieniowego.

W przypadku aplikacji z jednym plikiem proces publikowania tworzy katalog artefaktów z skompilowanym plikiem zestawu. Opublikowana aplikacja może być uruchamiana przy użyciu dotnet polecenia .

W poniższych krokach przyjrzysz się plikom utworzonym przez proces publikowania.

  1. Wybierz Explorer na lewym pasku nawigacyjnym.

  2. Rozwiń artifacts/HelloWorld.

    Eksplorator przedstawiający opublikowane pliki

    Jak pokazano na obrazie, opublikowane dane wyjściowe zawierają następujące pliki:

    • Helloworld

      Jest to zależny od frameworku plik wykonywalny wersji aplikacji . Plik jest specyficzny dla systemu operacyjnego. Usługa Codespaces działa w systemie Linux, więc jest to plik wykonywalny systemu Linux.

    • HelloWorld.deps.json

      Jest to plik zależności środowiska uruchomieniowego aplikacji. Definiuje on składniki .NET i biblioteki (w tym dynamiczną bibliotekę linków zawierającą aplikację) potrzebne do uruchomienia aplikacji. Aby uzyskać więcej informacji, zobacz pliki konfiguracji środowiska uruchomieniowego .

    • HelloWorld.dll

      Jest to wersja wdrożenia zależna od frameworka aplikacji. Aby uruchomić tę bibliotekę linków dynamicznych, wprowadź dotnet HelloWorld.dll w wierszu polecenia. Ta metoda uruchamiania aplikacji działa na dowolnej platformie z zainstalowanym środowiskiem uruchomieniowym .NET.

    • HelloWorld.pdb (opcjonalnie do wdrożenia)

      Jest to plik symboli debugowania. Nie musisz wdrażać tego pliku wraz z aplikacją, chociaż należy zapisać go w przypadku konieczności debugowania opublikowanej wersji aplikacji.

    • HelloWorld.runtimeconfig.json

      Jest to plik konfiguracji środowiska uruchomieniowego aplikacji. Identyfikuje wersję .NET, na podstawie których aplikacja została skompilowana do uruchomienia. Możesz również dodać do niej opcje konfiguracji. Aby uzyskać więcej informacji, zobacz .NET ustawienia konfiguracji środowiska uruchomieniowego.

    Kliknij prawym przyciskiem myszy i wybierz polecenie Pobierz, aby pobrać pliki z usługi Codespaces na komputer lokalny.

Uruchamianie opublikowanej aplikacji

  1. W Solution Explorer kliknij prawym przyciskiem myszy folder publish i wybierz Kopiuj pełną ścieżkę.

  2. Otwórz wiersz polecenia i przejdź do folderu publish . W tym celu wprowadź cd, a następnie wklej pełną ścieżkę. Przykład:

    cd C:\Projects\HelloWorld\bin\Release\net10.0\publish\
    
  3. Uruchom aplikację przy użyciu pliku wykonywalnego:

    1. Wprowadź HelloWorld.exe i naciśnij Enter.

    2. Wprowadź nazwę w odpowiedzi na monit i naciśnij dowolny klawisz, aby zakończyć.

  4. Uruchom aplikację przy użyciu polecenia dotnet:

    1. Wprowadź dotnet HelloWorld.dll i naciśnij Enter.

    2. Wprowadź nazwę w odpowiedzi na monit i naciśnij dowolny klawisz, aby zakończyć.

  1. W Explorerkliknij prawym przyciskiem myszy folder publikowania (Ctrl-kliknij w systemie macOS), a następnie wybierz pozycję Otwórz w zintegrowanym terminalu.

    menu kontekstowe pokazujące Otwórz w terminalu

  2. W Windows lub Linux uruchom aplikację przy użyciu pliku wykonywalnego.

    1. W Windows wprowadź .\HelloWorld.exe i naciśnij Enter.

    2. W systemie Linux wprowadź ./HelloWorld i naciśnij Enter.

    3. Wprowadź nazwę w odpowiedzi na monit i naciśnij Enter, aby zakończyć.

  3. Na dowolnej platformie uruchom aplikację przy użyciu polecenia dotnet:

    1. Wprowadź dotnet HelloWorld.dll i naciśnij Enter.

    2. Wprowadź nazwę w odpowiedzi na monit i naciśnij Enter, aby zakończyć.

  1. W Eksploratorze kliknij prawym przyciskiem myszy folder artifacts/HelloWorld i wybierz polecenie Otwórz w zintegrowanym terminalu.

  2. Uruchom aplikację przy użyciu pliku wykonywalnego. Wprowadź, ./HelloWorld a następnie naciśnij Enter.

  3. Wprowadź nazwę w odpowiedzi na monit i naciśnij Enter, aby zakończyć.

Dodatkowe zasoby

Oczyszczanie zasobów

GitHub automatycznie usuwa przestrzeń Codespace po upływie 30 dni braku aktywności. Jeśli planujesz zapoznać się z więcej samouczków w tej serii, możesz pozostawić aprowizowaną usługę Codespace. Jeśli chcesz odwiedzić witrynę .NET aby pobrać zestaw SDK .NET, możesz usunąć środowisko Codespace. Aby usunąć swój Codespace, otwórz okno przeglądarki i przejdź do Twoich Codespaces. W oknie wyświetlana jest lista twoich codespaces. Wybierz trzy kropki (...) we wpisie dotyczącym codespace samouczka learn. Następnie wybierz pozycję "Usuń".

Dalsze kroki

W tym samouczku opublikowałeś aplikację konsolową. W następnym samouczku utworzysz bibliotekę klas.