Wdrażanie aplikacji .NET core.NET Core application deployment

Można tworzyć dwa typy wdrożeń dla aplikacji .NET Core:You can create two types of deployments for .NET Core applications:

  • Zależne od Framework wdrożenia.Framework-dependent deployment. Jak wskazuje nazwę, zależne od framework wdrożenia (stacje) zależy od obecności udostępnionego systemowe wersji platformy .NET Core w systemie docelowym.As the name implies, framework-dependent deployment (FDD) relies on the presence of a shared system-wide version of .NET Core on the target system. Ponieważ .NET Core jest już obecny, aplikacji jest również przenosić między instalacji platformy .NET Core.Because .NET Core is already present, your app is also portable between installations of .NET Core. Aplikacja zawiera tylko własnego kodu i wszelkie zależności innych firm, które znajdują się poza bibliotek .NET Core.Your app contains only its own code and any third-party dependencies that are outside of the .NET Core libraries. Zawiera FDDs .dll pliki, które można uruchomić przy użyciu narzędzie dotnet z wiersza polecenia.FDDs contain .dll files that can be launched by using the dotnet utility from the command line. Na przykład dotnet app.dll działa aplikacja o nazwie app.For example, dotnet app.dll runs an application named app.

  • Samodzielne wdrożenia.Self-contained deployment. W odróżnieniu od Dyskietki niezależne wdrożenia (SCD) nie zależą od obecności współużytkowanych składników w systemie docelowym.Unlike FDD, a self-contained deployment (SCD) doesn't rely on the presence of shared components on the target system. Wszystkie składniki, w tym zarówno do bibliotek .NET Core i środowiska uruchomieniowego .NET Core, są dołączone do aplikacji i odizolowana od innych aplikacji .NET Core.All components, including both the .NET Core libraries and the .NET Core runtime, are included with the application and are isolated from other .NET Core applications. SCDs obejmują plik wykonywalny (takich jak app.exe na platformach systemu Windows dla aplikacji o nazwie app), zmieniono nazwę wersji specyficzne dla platformy .NET Core hosta, a .dll plików (takich jak app.dll), która jest rzeczywista aplikacji.SCDs include an executable (such as app.exe on Windows platforms for an application named app), which is a renamed version of the platform-specific .NET Core host, and a .dll file (such as app.dll), which is the actual application.

Zależne od Framework wdrożeń (stacje)Framework-dependent deployments (FDD)

STACJE wdrożeniem tylko aplikacji i zależności innych firm.For an FDD, you deploy only your app and any third-party dependencies. Nie trzeba wdrażać .NET Core, ponieważ Twoja aplikacja będzie używać wersji programu .NET Core, która występuje na komputerze docelowym.You don't have to deploy .NET Core, since your app will use the version of .NET Core that's present on the target system. Jest to domyślny model wdrażania dla aplikacji .NET Core.This is the default deployment model for .NET Core apps.

Dlaczego warto utworzyć wdrożenia framework zależnych?Why create a framework-dependent deployment?

Wdrażanie Dyskietki ma następujące korzyści:Deploying an FDD has a number of advantages:

  • Nie trzeba definiować systemów operacyjnych, które aplikacji .NET Core będą działać w wyprzedzeniem.You don't have to define the target operating systems that your .NET Core app will run on in advance. Ponieważ .NET Core używa formacie pliku PE wspólne dla obiektów wykonywalnych i bibliotek niezależnie od systemu operacyjnego, platformy .NET Core można wykonać aplikacji niezależnie od systemu operacyjnego.Because .NET Core uses a common PE file format for executables and libraries regardless of operating system, .NET Core can execute your app regardless of the underlying operating system. Aby uzyskać więcej informacji o formacie pliku PE, zobacz Format pliku zestawu .NET.For more information on the PE file format, see .NET Assembly File Format.

  • Rozmiar pakietu wdrażania jest mała.The size of your deployment package is small. Można wdrażać tylko w aplikacji i jej zależności nie .NET Core samej siebie.You only deploy your app and its dependencies, not .NET Core itself.

  • Wiele aplikacji używać tej samej instalacji .NET Core, co zmniejsza zarówno miejsca i pamięć użycia dysku w systemach hosta.Multiple apps use the same .NET Core installation, which reduces both disk space and memory usage on host systems.

Dostępne są również kilka wady:There are also a few disadvantages:

  • Aplikację można uruchomić tylko wtedy, gdy jest to wersja platformy .NET Core, które są przeznaczone lub nowszy, jest już zainstalowana w systemie hosta.Your app can run only if the version of .NET Core that you target, or a later version, is already installed on the host system.

  • Istnieje możliwość środowiska uruchomieniowego .NET Core i biblioteki można zmienić bez wiedzy użytkownika w przyszłych wersjach.It's possible for the .NET Core runtime and libraries to change without your knowledge in future releases. W rzadkich przypadkach może to spowodować zmianę zachowania aplikacji.In rare cases, this may change the behavior of your app.

Samodzielne wdrożeń (SCD)Self-contained deployments (SCD)

Niezależne wdrożenia możesz wdrożyć aplikację i wszystkie wymagane zależności innych firm oraz wersji platformy .NET Core, który był używany podczas kompilowania aplikacji.For a self-contained deployment, you deploy your app and any required third-party dependencies along with the version of .NET Core that you used to build the app. Tworzenie SCD nie zawiera natywnego zależności programu .NET Core na różnych platformach, więc te musi występować przed uruchomieniem aplikacji.Creating an SCD doesn't include the native dependencies of .NET Core on various platforms, so these must be present before the app runs.

Wdrożenia Dyskietki i SCD Użyj hosta oddzielne pliki wykonywalne, więc możesz utworzyć pliku wykonywalnego hosta SCD w podpisie wydawcy.FDD and SCD deployments use separate host executables, so you can sign a host executable for an SCD with your publisher signature.

Dlaczego wdrożenia niezależne?Why deploy a self-contained deployment?

Wdrażanie niezależne wdrożenia ma dwie główne zalety:Deploying a Self-contained deployment has two major advantages:

  • Masz wyłączną kontrolę wersji platformy .NET Core, który jest wdrażany z aplikacją.You have sole control of the version of .NET Core that is deployed with your app. Oprogramowanie .NET core może być obsługiwany tylko przez użytkownika..NET Core can be serviced only by you.

  • Można mieć pewność, system docelowy można uruchomić aplikacji .NET Core, ponieważ jest zapewnienie wersji programu .NET Core, który będzie uruchamiany na.You can be assured that the target system can run your .NET Core app, since you're providing the version of .NET Core that it will run on.

Ma on również szereg wady:It also has a number of disadvantages:

  • Ponieważ .NET Core znajduje się w pakiecie wdrożenia, musisz wybrać platformy docelowe, dla których tworzenia pakietów wdrożeniowych z wyprzedzeniem.Because .NET Core is included in your deployment package, you must select the target platforms for which you build deployment packages in advance.

  • Rozmiar pakietu wdrażania jest stosunkowo dużej, ponieważ powinien obejmować oprogramowanie .NET Core, a także aplikacji i jej zależności innych firm.The size of your deployment package is relatively large, since you have to include .NET Core as well as your app and its third-party dependencies.

  • Wdrażania wielu niezależne aplikacji .NET Core do systemu, jaką może wykorzystać znacznej ilości miejsca na dysku, od każdej aplikacji duplikaty plików .NET Core.Deploying numerous self-contained .NET Core apps to a system can consume significant amounts of disk space, since each app duplicates .NET Core files.

Przykłady krok po krokuStep-by-step examples

Przykłady krok po kroku wdrażania aplikacji .NET Core za pomocą narzędzi interfejsu wiersza polecenia, zobacz wdrażanie aplikacji programu .NET Core przy użyciu narzędzi interfejsu wiersza polecenia.For step-by-step examples of deploying .NET Core apps with CLI tools, see Deploying .NET Core Apps with CLI Tools. Przykłady krok po kroku wdrażania aplikacji .NET Core za pomocą programu Visual Studio, zobacz wdrażanie aplikacji programu .NET Core z programem Visual Studio.For step-by-step examples of deploying .NET Core apps with Visual Studio, see Deploying .NET Core Apps with Visual Studio. Każdego tematu zawiera przykłady następujących wdrożeń:Each topic includes examples of the following deployments:

  • Zależne od Framework wdrożeniaFramework-dependent deployment
  • Wdrożenie Framework zależne zależności innych firmFramework-dependent deployment with third-party dependencies
  • Samodzielne wdrożeniaSelf-contained deployment
  • Samodzielne wdrożenia zależności innych firmSelf-contained deployment with third-party dependencies

Zobacz takżeSee also

Wdrażanie aplikacji .NET Core za pomocą narzędzi interfejsu wiersza polecenia Deploying .NET Core Apps with CLI Tools
Wdrażanie aplikacji programu .NET Core z programem Visual Studio Deploying .NET Core Apps with Visual Studio
Pakiety, Metapackages i platform Packages, Metapackages and Frameworks
Katalogu .NET core środowiska uruchomieniowego identyfikator (RID).NET Core Runtime IDentifier (RID) catalog