Struktura katalogów platformy ASP.NET Core

Note

Nie jest to najnowsza wersja tego artykułu. Aby zapoznać się z aktualną wersją, zobacz artykuł w wersji .NET 10.

Warning

Ta wersja ASP.NET Core nie jest już obsługiwana. Aby uzyskać więcej informacji, zobacz zasady pomocy technicznej platformy .NET i platformy .NET Core. Aby zapoznać się z aktualną wersją, zobacz artykuł w wersji .NET 10.

Katalog publish zawiera możliwe do wdrożenia zasoby aplikacji utworzone przez polecenie dotnet publish. Katalog zawiera:

  • Pliki aplikacji
  • Pliki konfiguracji
  • Zasoby statyczne
  • Packages
  • Środowisko uruchomieniowe (tylko wdrożenie samodzielne)
Typ aplikacji Struktura katalogu
Plik wykonywalny zależny od środowiska uruchomieniowego (FDE)
  • publish†
    • Widoki† aplikacji MVC; jeśli widoki nie są wstępnie skompilowane
    • Aplikacje MVC lub Pages† Razor, jeśli strony nie są wstępnie skompilowane
    • wwwroot†
    • *.pliki.dll
    • {NAZWA ZESTAWU}.deps.json
    • {NAZWA ZESTAWU}.dll
    • {NAZWA ZESTAWU}{.EXTENSION}.exe rozszerzenie w systemie Windows, brak rozszerzenia w systemie macOS lub Linux
    • {NAZWA ZESTAWU}.pdb
    • {NAZWA ZESTAWU}.runtimeconfig.json
    • web.config (wdrożenia IIS)
    • createdump (narzędzie createdump dla systemu Linux)
    • *.so (biblioteka obiektów współdzielonych systemu Linux)
    • *.a (archiwum systemu macOS)
    • *.dylib (biblioteka dynamiczna systemu macOS)
Wdrożenie niezależne (SCD)
  • publish†
    • Widoki† aplikacji MVC, jeśli widoki nie są wstępnie skompilowane
    • Aplikacje MVC lub strony† Razor, jeśli strony nie są wstępnie skompilowane
    • wwwroot†
    • *.pliki.dll
    • {NAZWA ZESTAWU}.deps.json
    • {NAZWA ZESTAWU}.dll
    • {ASSEMBLY NAME}{.EXTENSION} rozszerzenie .exe w systemie Windows, bez rozszerzenia w systemie macOS lub Linux
    • {NAZWA ZESTAWU}.pdb
    • {NAZWA ZESTAWU}.runtimeconfig.json
    • web.config (wdrożenia IIS)

† Oznacza katalog

Katalog publish stanowi ścieżkę katalogu głównego zawartości, nazywaną również ścieżką podstawową aplikacji, wdrożenia. Niezależnie od nazwy katalogu publish wdrożonej aplikacji na serwerze, jego lokalizacja służy jako ścieżka fizyczna serwera do hostowanej aplikacji.

Katalog wwwroot , jeśli istnieje, zawiera tylko zasoby statyczne.

Dodatkowe zasoby

Katalog publish zawiera możliwe do wdrożenia zasoby aplikacji utworzone przez polecenie dotnet publish. Katalog zawiera:

Typ aplikacji Struktura katalogu
Plik wykonywalny zależny od platformy (FDE)
  • publish†
    • Widoki† aplikacji MVC; jeśli widoki nie są wstępnie skompilowane
    • Aplikacje MVC lub Razor Pages†, jeśli strony nie są wstępnie skompilowane
    • wwwroot†
    • *.pliki.dll
    • {NAZWA ZESTAWU}.deps.json
    • {NAZWA ZESTAWU}.dll
    • {ASSEMBLY NAME}{.EXTENSION}.exe rozszerzenie w systemie Windows, brak rozszerzenia w systemie macOS lub Linux
    • {NAZWA ZESTAWU}.pdb
    • {NAZWA ZESTAWU}.Views.dll
    • {NAZWA ZESTAWU}. Views.pdb
    • {NAZWA ZESTAWU}.runtimeconfig.json
    • web.config (wdrożenia usług IIS)
    • createdump (narzędzie createdump systemu Linux)
    • *.so (biblioteka obiektów współdzielonych systemu Linux)
    • *.a (archiwum systemu macOS)
    • *.dylib (biblioteka dynamiczna systemu macOS)
Wdrożenie autonomiczne (SCD)
  • publish†
    • Widoki† aplikacji MVC, jeśli widoki nie są wstępnie skompilowane
    • aplikacje MVC lub Razor Pages, jeśli strony nie są wstępnie skompilowane
    • wwwroot†
    • *.pliki.dll
    • {NAZWA ZESTAWU}.deps.json
    • {NAZWA ZESTAWU}.dll
    • {ASSEMBLY NAME}{.EXTENSION} rozszerzenie .exe w systemie Windows, bez rozszerzenia w systemie macOS lub Linux
    • {NAZWA ZESTAWU}.pdb
    • {NAZWA ZESTAWU}.Views.dll
    • {NAZWA ZESTAWU}. Views.pdb
    • {NAZWA ZESTAWU}.runtimeconfig.json
    • web.config (wdrożenia usług IIS)

† Oznacza katalog

Katalog publish reprezentuje ścieżkę główną zawartości, nazywaną również ścieżką podstawową aplikacji, wdrożenia. Niezależnie od nazwy katalogu publish wdrożonej aplikacji na serwerze, jego lokalizacja stanowi fizyczną ścieżkę na serwerze do hostowanej aplikacji.

Katalog wwwroot , jeśli istnieje, zawiera tylko zasoby statyczne.

Dodatkowe zasoby

Katalog publish zawiera możliwe do wdrożenia zasoby aplikacji utworzone przez polecenie dotnet publish. Katalog zawiera:

Typ aplikacji Struktura katalogu
Plik wykonywalny zależny od platformy (FDE)
  • publish†
    • Widoki† aplikacji MVC; jeśli widoki nie są wstępnie skompilowane
    • Pages† aplikacje MVC lub Razor Pages, jeśli strony nie są wstępnie skompilowane
    • wwwroot†
    • *.pliki.dll
    • {NAZWA ZESTAWU}.deps.json
    • {NAZWA ZESTAWU}.dll
    • {ASSEMBLY NAME}{.EXTENSION} rozszerzenie .exe w systemie Windows, bez rozszerzenia w systemie macOS lub Linux
    • {NAZWA ZESTAWU}.pdb
    • {NAZWA ZESTAWU}.Views.dll
    • {NAZWA ZESTAWU}. Views.pdb
    • {NAZWA ZESTAWU}.runtimeconfig.json
    • web.config (wdrożenia usług IIS)
    • createdump (narzędzie createdump systemu Linux)
    • *.so (biblioteka współdzielona systemu Linux)
    • *.a (archiwum systemu macOS)
    • *.dylib (biblioteka dynamiczna systemu macOS)
Wdrożenie autonomiczne (SCD)
  • publish†
    • Widoki† aplikacji MVC, jeśli widoki nie są wstępnie skompilowane
    • Aplikacje MVC lub Razor Pages†, jeśli strony nie są wstępnie skompilowane
    • wwwroot†
    • *.pliki.dll
    • {NAZWA ZESTAWU}.deps.json
    • {NAZWA ZESTAWU}.dll
    • {NAZWA ZESTAWU}.exe
    • {NAZWA ZESTAWU}.pdb
    • {NAZWA ZESTAWU}.Views.dll
    • {NAZWA ZESTAWU}. Views.pdb
    • {NAZWA ZESTAWU}.runtimeconfig.json
    • web.config (wdrożenia IIS)

†Oznacza katalog

Katalog publish reprezentuje ścieżkę główną zawartości, nazywaną również ścieżką bazową aplikacji, wdrożenia. Niezależnie od nazwy katalogu publish wdrożonej aplikacji na serwerze, jego lokalizacja służy jako ścieżka fizyczna serwera do hostowanej aplikacji.

Katalog wwwroot , jeśli istnieje, zawiera tylko zasoby statyczne.

Tworzenie folderu Logs jest przydatne w przypadku rozszerzonego rejestrowania debugowania modułu ASP.NET Core Module. Katalogi w ścieżce podanej w wartości <handlerSetting> nie są tworzone automatycznie przez moduł i powinny istnieć wcześniej we wdrożeniu, aby umożliwić modułowi zapisywanie dziennika debugowania.

Katalog Logs można utworzyć dla wdrożenia przy użyciu jednego z następujących dwóch podejść:

  • Dodaj następujący <Target> element do pliku projektu:

    <Target Name="CreateLogsFolder" AfterTargets="Publish">
       <MakeDir Directories="$(PublishDir)Logs" 
                Condition="!Exists('$(PublishDir)Logs')" />
       <WriteLinesToFile File="$(PublishDir)Logs\.log" 
                         Lines="Generated file" 
                         Overwrite="True" 
                         Condition="!Exists('$(PublishDir)Logs\.log')" />
    </Target>
    

    Element <MakeDir> tworzy pusty folder Logs w opublikowanych wynikach wyjściowych. Element używa PublishDir właściwości , aby określić lokalizację docelową do utworzenia folderu. Niektóre metody wdrażania, takie jak Web Deploy, pomijają puste foldery podczas wdrażania. Element <WriteLinesToFile> generuje plik w folderze Logs, który gwarantuje wdrożenie folderu na serwer. Tworzenie folderu przy użyciu tej metody kończy się niepowodzeniem, jeśli proces roboczy nie ma dostępu do zapisu do folderu docelowego.

  • Fizycznie utwórz katalog Logs na serwerze w ramach wdrożenia.

Katalog wdrażania wymaga uprawnień Odczyt/Wykonywanie. Katalog Logs wymaga uprawnień do odczytu/zapisu. Dodatkowe katalogi, w których pliki są zapisywane, wymagają uprawnień do odczytu/zapisu.

Dodatkowe zasoby