Wdrożyć aplikację do folderu, IIS, Azure lub innego miejsca docelowego
Wdrażając aplikację, usługę lub składnik, dystrybuujesz ją do instalacji na innych komputerach, urządzeniach, serwerach lub w chmurze. Wybierz odpowiednią metodę w programie Visual Studio dla wymaganego typu wdrożenia.
Uzyskaj pomoc dotyczącą zadania wdrażania:
Nie masz pewności, jaką opcję wdrożenia wybrać? Zobacz Jakie opcje publikowania są odpowiednie dla mnie?
Aby uzyskać pomoc dotyczącą problemów z wdrażaniem usług Azure App Service lub IIS, zobacz Troubleshoot ASP.NET Core on Azure App Service and IIS.
Aby uzyskać pomoc dotyczącą konfigurowania ustawień wdrażania platformy .NET, zobacz Konfigurowanie ustawień wdrażania platformy .NET.
Aby wdrożyć w nowym obiekcie docelowym, jeśli wcześniej utworzono profil publikowania, wybierz pozycję Nowy na ekranie publikowanie dla wcześniej skonfigurowanego profilu. Narzędzie Publikuj pojawi się.
Następnie wybierz opcję publikacji w narzędziu Publikuj. Aby uzyskać informacje na temat opcji publikowania, zobacz następujące sekcje.
Jakie opcje publikowania są dla mnie odpowiednie?
Z poziomu programu Visual Studio aplikacje można publikować bezpośrednio w następujących miejscach docelowych:
- Azurowy
- usługi Docker Container Registry
- DevTest Labs
- folder
- serwer FTP/FTPS
- Serwer sieci Web (IIS)
- Importowanie profilu
Powyższe opcje są wyświetlane jak pokazano na poniższej ilustracji podczas tworzenia nowego profilu publikowania.
Aby zapoznać się z bardziej ogólnymi opcjami wdrażania aplikacji, zobacz Pierwsze spojrzenie na wdrażanie.
Azure
Po wybraniu platformy Azure możesz wybrać między:
- usługa Azure App Service działająca na Windows, Linux lub jako obraz Docker
- Obraz Docker wdrożony do Azure Container Registry
- maszyna wirtualna platformy Azure
Azure Container Apps
usługa Azure Container Apps ułatwia deweloperom tworzenie konteneryzowanych aplikacji internetowych i usług oraz zarządzanie nimi.
Chociaż można wdrożyć konteneryzowaną aplikację w usłudze Azure App Service, usługa Azure Container Apps jest zoptymalizowana pod kątem korzystania z zasobów wydajniej dla konteneryzowanych aplikacji, więc istnieją oszczędności kosztów, a także inne korzyści wynikające z korzystania z usługi Azure Container Apps.
Kiedy wybrać usługę Azure Container Apps
- Aplikacje i usługi działają w kontenerze lub wielu kontenerach
- Potrzebna jest wysoka dostępność i elastyczne skalowanie
- Aplikacja jest dobrym rozwiązaniem dla wzorca architektury mikrousług z funkcją podzieloną na zestaw modułowych usług jednodaniowych implementowanych zazwyczaj jako azure functions. Na przykład zestawy usług jednozadaniowych, działających jako zadania pojedyncze, reagujących na zdarzenia lub przetwarzających żądania z kolejek lub wyzwalaczy.
- Chcesz korzystać z zalet orkiestracji kontenerów (Kubernetes), ale nie chcesz bezpośrednio zarządzać platformą Kubernetes. (Jeśli chcesz mieć głęboką kontrolę nad infrastrukturą Kubernetes, która obsługuje usługi konteneryzowane, rozważ użycie usługi Azure Kubernetes Service (AKS).
Azure App Service
usługa Azure App Service ułatwia deweloperom szybkie tworzenie skalowalnych aplikacji internetowych i usług bez utrzymywania infrastruktury. Usługa App Service działa na maszynach wirtualnych hostowanych w chmurze na platformie Azure, ale te maszyny wirtualne są zarządzane dla ciebie. Do każdej aplikacji w usłudze App Service zostanie przypisany unikatowy adres URL *.azurewebsites.net, a wszystkie warstwy cenowe inne niż bezpłatna zezwalają na przypisywanie niestandardowych nazw domen do witryny.
Określasz, ile mocy obliczeniowej ma usługa App Service, wybierając warstwę cenową lub plan dla zawierającej usługę App Service. Możesz mieć wiele aplikacji internetowych (i innych typów aplikacji), które wspólnie korzystają z tej samej usługi App Service, bez zmiany warstwy cenowej. Na przykład, możesz hostować aplikacje internetowe używane do rozwoju, testowania i produkcji w tej samej usłudze App Service.
Kiedy wybrać usługę Azure App Service
- Chcesz wdrożyć aplikację internetową dostępną za pośrednictwem Internetu.
- Chcesz automatycznie skalować aplikację internetową zgodnie z zapotrzebowaniem bez konieczności ponownego wdrażania.
- Nie chcesz utrzymywać infrastruktury serwera (w tym aktualizacji oprogramowania).
- Nie potrzebujesz żadnych dostosowań na poziomie maszyny na serwerach hostujących aplikację internetową.
Jeśli chcesz użyć usługi Azure App Service we własnym centrum danych lub na innych komputerach lokalnych, możesz to zrobić przy użyciu Azure Stack.
Aby uzyskać więcej informacji na temat publikowania w usłudze App Service, zobacz:
- Szybki Start - publikowanie w Azure App Service
- Szybki start — publikowanie ASP.NET Core w systemie Linux.
- Publikowanie aplikacji ASP.NET Core w usłudze Azure App Service
- Rozwiązywanie problemów z programem ASP.NET Core w usłudze Azure App Service i usługach IIS.
Azure WebJobs
Usługa Azure WebJobs jest obsługiwana za pośrednictwem usługi App Service. Zobacz Tworzenie i wdrażanie zadań WebJob przy użyciu programu Visual Studio.
Kiedy wybrać Azure WebJobs
- Masz proces roboczy— obliczenia, które można uruchomić bez interakcji z użytkownikiem.
- Zadanie jest na żądanie, wyzwalane przez zdarzenie lub ciągłe.
- Zadanie jest uruchamiane w systemie Windows lub .NET Core w systemie Linux (z programem Visual Studio 17.12 lub nowszym).
Inną opcją dla podobnych scenariuszy jest usługa Azure Functions. Aby wybrać odpowiednią opcję, zobacz Wybieranie odpowiednich usług integracji i automatyzacji w usłudze Azure.
Azure Container Registry
usługa Azure Container Registry umożliwia tworzenie i przechowywanie obrazów kontenerów platformy Docker oraz artefaktów oraz zarządzanie nimi w prywatnym rejestrze dla wszystkich typów wdrożeń kontenerów.
Kiedy wybrać usługę Azure Container Registry
- Jeśli masz istniejący ciąg tworzenia i wdrażania kontenera Docker.
- Jeśli chcesz utworzyć obrazy kontenerów platformy Docker na platformie Azure.
Aby uzyskać więcej informacji:
Maszyna wirtualna platformy Azure
maszyn wirtualnych platformy Azure umożliwia tworzenie dowolnej liczby zasobów obliczeniowych w chmurze i zarządzanie nimi. Przyjmując odpowiedzialność za wszystkie oprogramowanie i aktualizacje na maszynach wirtualnych, można je dostosować tak szeroko, jak to wymagają potrzeby Twojej aplikacji. Dostęp do maszyn wirtualnych można uzyskać bezpośrednio za pośrednictwem pulpitu zdalnego, a każdy z nich będzie utrzymywać przypisany adres IP tak długo, jak to konieczne.
Skalowanie aplikacji hostowanej na maszynach wirtualnych obejmuje tworzenie dodatkowych maszyn wirtualnych zgodnie z zapotrzebowaniem, a następnie wdrażanie niezbędnego oprogramowania. Ten dodatkowy poziom kontroli umożliwia skalowanie w różny sposób w różnych regionach globalnych. Jeśli na przykład aplikacja obsługuje pracowników w różnych biurach regionalnych, możesz skalować maszyny wirtualne zgodnie z liczbą pracowników w tych regionach, co potencjalnie zmniejsza koszty.
Aby uzyskać dodatkowe informacje, zobacz szczegółowe porównanie między usługami Azure App Service, Azure Virtual Machines i innymi usługami platformy Azure, których można użyć jako celu wdrożenia przy użyciu opcji Niestandardowe w programie Visual Studio.
Kiedy wybrać usługę Azure Virtual Machines
- Chcesz wdrożyć aplikację internetową dostępną za pośrednictwem Internetu z pełną kontrolą nad okresem istnienia przypisanych adresów IP.
- Na serwerach potrzebne są dostosowania na poziomie maszyny, które obejmują dodatkowe oprogramowanie, takie jak wyspecjalizowany system bazy danych, określone konfiguracje sieciowe, partycje dysku itd.
- Potrzebujesz dokładnego poziomu kontroli nad skalowaniem aplikacji internetowej.
- Potrzebujesz bezpośredniego dostępu do serwerów hostujących aplikację z jakiegokolwiek innego powodu.
Jeśli chcesz używać usługi Azure Virtual Machines we własnym centrum danych lub innych komputerach lokalnych, możesz to zrobić przy użyciu Azure Stack.
Rejestr kontenerów platformy Docker
Jeśli aplikacja korzysta z platformy Docker, możesz opublikować konteneryzowaną aplikację w rejestrze kontenerów platformy Docker.
Kiedy wybrać usługę Docker Container Registry
- Chcesz wdrożyć konteneryzowaną aplikację
Aby uzyskać więcej informacji, zobacz następujące tematy:
DevTest Labs
Użyj opcji wdrażania folderu w narzędziu Publikuj, jeśli chcesz wdrożyć w usłudze Azure DevTest Labs.
Aby uzyskać szczegółowe instrukcje, zobacz Publikowanie aplikacji do testowania na maszynie wirtualnej usługi Azure DevTest Labs. W artykule, do którego odwołano się, kroki publikacji folderu odnoszą się do platform .NET Core/.NET 5+. Pozostałe instrukcje dotyczą zarówno platformy .NET, jak i programu .NET Framework. W przypadku aplikacji ClickOnce programu .NET Framework można użyć Kreatora publikowania do publikowania w folderze.
Folder
Wdrożenie w systemie plików oznacza skopiowanie plików aplikacji do określonego folderu na własnym komputerze. Wdrażanie w folderze jest najczęściej używane do celów testowych lub do wdrażania aplikacji do użycia przez ograniczoną liczbę osób, jeśli na komputerze jest również uruchomiony serwer. Jeśli folder docelowy jest współużytkowany w sieci, wdrożenie w systemie plików może udostępnić pliki aplikacji internetowej innym osobom, które następnie mogą wdrożyć je na określonych serwerach.
Począwszy od programu Visual Studio 2019 16.8, element docelowy folderu obejmuje możliwość publikowania aplikacji systemu Windows platformy .NET przy użyciu technologii ClickOnce.
Jeśli chcesz opublikować projekt aplikacji desktopowej .NET dla systemu Windows (.NET Core 3.1, .NET 5 i nowsze) za pomocą ClickOnce, zobacz Wdrażanie aplikacji Windows .NET za pomocą ClickOnce.
Wszystkie maszyny lokalne z uruchomionym serwerem mogą udostępnić aplikację za pośrednictwem Internetu lub intranetu w zależności od konfiguracji i sieci, z którymi jest połączona. (Jeśli komputer łączy się bezpośrednio z Internetem, należy zachować szczególną ostrożność, aby chronić go przed zagrożeniami bezpieczeństwa zewnętrznego). Ponieważ zarządzasz tymi maszynami, masz pełną kontrolę nad konfiguracją oprogramowania i sprzętu.
Jeśli z jakiegokolwiek powodu (np. dostęp do maszyny) nie możesz używać usług w chmurze, takich jak Azure App Service lub Azure Virtual Machines, możesz użyć Azure Stack we własnym centrum danych. Usługa Azure Stack umożliwia zarządzanie zasobami obliczeniowymi i korzystanie z nich za pośrednictwem usług Azure App Service i Azure Virtual Machines, jednocześnie zachowując wszystko lokalnie.
Kiedy wybrać wdrożenie systemu plików
Wystarczy tylko wdrożyć aplikację w udziale plików, z którego inni będą wdrażać ją na różnych serwerach.
Chcesz wdrożyć aplikację systemu Windows platformy .NET przy użyciu technologii ClickOnce
Potrzebujesz tylko lokalnego wdrożenia testowego.
Chcesz zbadać i potencjalnie zmodyfikować pliki aplikacji niezależnie przed wysłaniem ich do innego miejsca docelowego wdrożenia.
Aby uzyskać więcej informacji, zobacz Szybki Start – wdrażanie do folderu lokalnego.
Aby uzyskać więcej informacji na temat wdrażania aplikacji systemu Windows platformy .NET przy użyciu technologii ClickOnce, zobacz Deploy a .NET Windows application using ClickOnce.
Aby uzyskać dodatkową pomoc dotyczącą wybierania ustawień, zobacz następujące tematy:
- wdrażanie zależne od frameworka a wdrażanie samodzielne
- identyfikatory docelowego środowiska uruchomieniowego (przenośne identyfikatory RID i inne)
- Konfiguracje debugowania i wersji
Serwer FTP/FTPS
Serwer FTP/FTPS umożliwia wdrożenie aplikacji na serwerze innym niż platforma Azure. Można go wdrożyć w systemie plików lub innym serwerze (Internet lub Intranet), do którego masz dostęp, w tym w innych usługach w chmurze. Może działać z wdrażaniem internetowym (plikami lub .ZIP) i protokołem FTP.
Podczas wybierania serwera FTP/FTPS Visual Studio prosi o podanie nazwy profilu, a następnie zbiera dodatkowe informacje dotyczące połączenia , w tym serwer docelowy lub lokalizację, nazwę witryny i dane uwierzytelniające. Możesz kontrolować następujące zachowania na karcie Ustawienia :
- Konfiguracja, którą chcesz wdrożyć.
- Czy usunąć istniejące pliki z miejsca docelowego.
- Czy należy wstępnie skompilować podczas publikowania.
- Czy wykluczyć pliki w folderze App_Data z wdrożenia.
W programie Visual Studio można utworzyć dowolną liczbę profilów wdrażania FTP/FTPS, umożliwiając zarządzanie profilami przy użyciu różnych ustawień.
Kiedy wybrać wdrożenie serwera FTP/FTPS
- Korzystasz z usług w chmurze u dostawcy innego niż platforma Azure, do którego można uzyskać dostęp za pośrednictwem adresów URL.
- Chcesz wdrożyć przy użyciu poświadczeń innych niż te używane w programie Visual Studio lub powiązane bezpośrednio z kontami platformy Azure.
- Chcesz usunąć pliki z miejsca docelowego za każdym razem, gdy wdrażasz.
Serwer sieci Web (IIS)
Serwer internetowy usług IIS umożliwia wdrożenie aplikacji na serwerze internetowym innym niż platforma Azure. Może on zostać wdrożony na serwerze usług IIS (Internet lub Intranet), do którego masz dostęp, w tym na innych usługach w chmurze. Może działać z narzędziem Web Deploy lub pakietem Web Deploy.
Podczas wybierania serwera internetowego usług IIS program Visual Studio poprosi o podanie nazwy profilu, a następnie będzie zbierać dodatkowe informacje o połączeniu, w tym serwer docelowy, lokalizację, nazwę witryny i poświadczenia. Możesz kontrolować następujące zachowania na karcie Ustawienia :
- Konfiguracja, którą chcesz wdrożyć.
- Czy usunąć istniejące pliki z miejsca docelowego.
- Czy należy wstępnie skompilować podczas publikowania.
- Czy wykluczyć pliki w folderze App_Data z wdrożenia.
W programie Visual Studio można utworzyć dowolną liczbę profilów wdrażania serwera internetowego usług IIS, co umożliwia zarządzanie profilami przy użyciu różnych ustawień.
Kiedy wybrać wdrożenie serwera internetowego (IIS)
- Używasz usług IIS do publikowania witryny lub usługi, do której można uzyskać dostęp za pośrednictwem adresów URL.
- Chcesz wdrożyć przy użyciu poświadczeń innych niż te używane w programie Visual Studio lub powiązane bezpośrednio z kontami platformy Azure.
- Chcesz usunąć pliki z miejsca docelowego za każdym razem, gdy wdrażasz.
Aby uzyskać więcej informacji, zobacz przewodnik Szybki Start — wdrażanie w witrynie internetowej.
Aby uzyskać pomoc dotyczącą rozwiązywania problemów z programem ASP.NET Core w usługach IIS, zobacz Troubleshoot ASP.NET Core on Azure App Service and IIS.
Importowanie profilu
Profil można zaimportować podczas publikowania w usługach IIS lub Azure App Service. Wdrożenie można skonfigurować przy użyciu pliku ustawień publikowania (*.publishsettings). Plik ustawień publikowania jest tworzony przez usługi IIS lub Azure App Service lub można go utworzyć ręcznie, a następnie można go zaimportować do programu Visual Studio.
Użycie pliku ustawień publikowania może uprościć konfigurację wdrożenia i działa lepiej w środowisku zespołowym w porównaniu do ręcznego konfigurowania każdego profilu wdrożenia.
Kiedy wybrać profil importu
- Publikujesz do IIS i chcesz uprościć konfigurację wdrożenia.
- Publikujesz na serwerze IIS lub w usłudze Azure App Service i chcesz przyspieszyć konfigurację wdrożenia, aby można ją było ponownie użyć lub aby członkowie zespołu mogli publikować w tej samej usłudze.
Aby uzyskać więcej informacji, zobacz następujące tematy:
- Importowanie ustawień publikowania i wdrażanie ich w usługach IIS
- Importowanie ustawień publikowania i wdrażanie w usłudze Azure
Konfigurowanie ustawień wdrażania platformy .NET
Aby uzyskać dodatkową pomoc dotyczącą wybierania ustawień, zobacz następujące tematy:
- wdrażanie zależne od frameworka a wdrażanie samodzielne
- identyfikatory docelowego środowiska uruchomieniowego (przenośne identyfikatory RID i inne)
- Konfiguracje debugowania i wersji
Następne kroki
Samouczki: