Pobieranie ustawień publikowania z usług IIS i importowanie do programu Visual Studio

Możesz użyć narzędzia Publikuj , aby zaimportować ustawienia publikowania, a następnie wdrożyć aplikację. W tym artykule używamy ustawień publikowania dla usług IIS.

Te kroki dotyczą aplikacji internetowych ASP.NET i ASP.NET Core.

Uwaga

Plik ustawień publikowania (*.publishsettings) różni się od profilu publikowania (*.pubxml). Plik ustawień publikowania jest tworzony w usługach IIS, a następnie można go zaimportować do programu Visual Studio. Program Visual Studio tworzy profil publikowania.

Wymagania wstępne

  • Program Visual Studio zainstalowany z obciążeniem tworzenia aplikacji internetowych i ASP.NET. Jeśli masz już zainstalowany program Visual Studio:

    • Zainstaluj najnowsze aktualizacje w programie Visual Studio, wybierając pozycję Sprawdzanie pomocy>pod kątem Aktualizacje.
    • Dodaj obciążenie, wybierając pozycję Narzędzia Pobierz narzędzia>i funkcje.
  • Na serwerze musi być uruchomiony system Windows Server 2012 lub nowszy, a rola serwera sieci Web usług IIS musi być poprawnie zainstalowana (wymagana do wygenerowania pliku ustawień publikowania (*.publishsettings)). Na serwerze musi być również zainstalowany program ASP.NET 4.5 lub ASP.NET Core. Kroki opisane w tym samouczku zostały przetestowane w systemie Windows Server 2022.

    Uwaga

    Usługi IIS w systemie Windows nie obsługują generowania ustawień publikowania. Nadal można jednak publikować w usługach IIS przy użyciu narzędzia Publikuj w programie Visual Studio.

Instalowanie i konfigurowanie narzędzia Web Deploy w systemie Windows Server

Narzędzie Web Deploy udostępnia dodatkowe funkcje konfiguracji, które umożliwiają tworzenie pliku ustawień publikowania z poziomu interfejsu użytkownika.

Uwaga

Instalator platformy internetowej osiągnął koniec życia w dniu 7/1/22. Aby uzyskać więcej informacji, zobacz Instalator platformy internetowej — koniec pomocy technicznej i zakończenie kanału informacyjnego produktu/aplikacji. Możesz bezpośrednio zainstalować narzędzie Web Deploy 4.0, aby utworzyć plik ustawień publikowania.

  1. Jeśli nie zainstalowano jeszcze skryptów zarządzania usługami IIS i narzędzi, zainstaluj go teraz.

    Przejdź do pozycji Wybierz role>serwera sieci Web (IIS)>Narzędzia do zarządzania, a następnie wybierz rolę Skrypty zarządzania usługami IIS i narzędzia, kliknij przycisk Dalej, a następnie zainstaluj rolę.

    Install IIS Management Scripts and Tools

    Skrypty i narzędzia są wymagane do włączenia generowania pliku ustawień publikowania.

    Upewnij się również, że zainstalowano usługę zarządzania i konsolę zarządzania usługami IIS (mogą one być już zainstalowane).

  2. W systemie Windows Server pobierz narzędzie Web Deploy 4.0.

  3. Uruchom program instalacyjny Web Deploy i upewnij się, że wybrano opcję Ukończ instalację zamiast typowej instalacji.

    Po zakończeniu instalacji uzyskasz składniki potrzebne do wygenerowania pliku ustawień publikowania. (Jeśli wybierzesz Zamiast tego możesz wyświetlić listę składników, jak pokazano na poniższej ilustracji).

    Screenshot showing Web Deploy 4.0 components

  4. (Opcjonalnie) Sprawdź, czy narzędzie Web Deploy działa prawidłowo, otwierając Panel sterowania > system i zabezpieczenia > Administracja istrative Tools > Services, a następnie upewnij się, że:

    • Usługa agenta wdrażania sieci Web jest uruchomiona (nazwa usługi różni się w starszych wersjach).

    • Usługa zarządzania siecią Web jest uruchomiona.

    Jeśli jedna z usług agenta nie jest uruchomiona, uruchom ponownie usługę agenta wdrażania sieci Web.

    Jeśli usługa agenta wdrażania sieci Web nie jest w ogóle obecna, przejdź do Panel sterowania Programy Odinstaluj program, znajdź wersję> programu Microsoft Web Deploy<.>> Wybierz opcję Zmień instalację i upewnij się, że wybierzesz pozycję Zostanie zainstalowana na lokalnym dysku twardym składników Web Deploy. Wykonaj kroki instalacji zmiany.

Tworzenie pliku ustawień publikowania w usługach IIS w systemie Windows Server

  1. Zamknij i otwórz ponownie konsolę zarządzania usługami IIS, aby wyświetlić zaktualizowane opcje konfiguracji w interfejsie użytkownika.

  2. W usługach IIS kliknij prawym przyciskiem myszy domyślną witrynę sieci Web, wybierz polecenie Wdróż>konfigurowanie publikowania w sieci Web.

    Configure Web Deploy configuration

    Jeśli nie widzisz menu Wdrażanie , zobacz poprzednią sekcję, aby sprawdzić, czy narzędzie Web Deploy jest uruchomione.

  3. W oknie dialogowym Konfigurowanie publikowania w narzędziu Web Deploy sprawdź ustawienia.

  4. Kliknij przycisk Ustawienia.

    W panelu Wyniki dane wyjściowe pokazują, że prawa dostępu są przyznawane określonemu użytkownikowi, a plik z rozszerzeniem .publishsettings został wygenerowany w lokalizacji wyświetlanej w oknie dialogowym.

    <?xml version="1.0" encoding="utf-8"?>
    <publishData>
      <publishProfile
        publishUrl="https://myhostname:8172/msdeploy.axd"
        msdeploySite="Default Web Site"
        destinationAppUrl="http://myhostname:80/"
        mySQLDBConnectionString=""
        SQLServerDBConnectionString=""
        profileName="Default Settings"
        publishMethod="MSDeploy"
        userName="myhostname\myusername" />
    </publishData>
    

    W zależności od konfiguracji systemu Windows Server i usług IIS w pliku XML są widoczne różne wartości. Poniżej przedstawiono kilka szczegółów dotyczących widocznych wartości:

    • Plik msdeploy.axd , do których odwołuje się atrybut, publishUrl jest dynamicznie generowanym plikiem programu obsługi HTTP dla narzędzia Web Deploy. (W celach http://myhostname:8172 testowych zazwyczaj działa również).

    • Port publishUrl jest ustawiony na port 8172, który jest domyślny dla narzędzia Web Deploy.

    • Port destinationAppUrl jest ustawiony na port 80, który jest domyślny dla usług IIS.

    • Jeśli w kolejnych krokach nie możesz nawiązać połączenia z hostem zdalnym z programu Visual Studio przy użyciu nazwy hosta, przetestuj adres IP serwera zamiast nazwy hosta.

      Uwaga

      Jeśli publikujesz w usługach IIS uruchomionych na maszynie wirtualnej platformy Azure, musisz otworzyć port przychodzący dla programu Web Deploy i usług IIS w sieciowej grupie zabezpieczeń. Aby uzyskać szczegółowe informacje, zobacz Otwieranie portów na maszynie wirtualnej.

  5. Skopiuj ten plik na komputer, na którym jest uruchomiony program Visual Studio.

Importowanie ustawień publikowania w programie Visual Studio i wdrażanie

  1. Na komputerze, na którym jest otwarty projekt ASP.NET w programie Visual Studio, kliknij prawym przyciskiem myszy projekt w Eksplorator rozwiązań, a następnie wybierz polecenie Publikuj.

    Jeśli wcześniej skonfigurowano wszystkie profile publikowania, zostanie wyświetlone okienko Publikowanie . Kliknij pozycję Nowy lub Utwórz nowy profil.

  2. Wybierz opcję importowania profilu.

    W oknie dialogowym Publikowanie kliknij pozycję Importuj profil.

    Choose Publish

  3. Przejdź do lokalizacji pliku ustawień publikowania utworzonego w poprzedniej sekcji.

  4. W oknie dialogowym Importowanie pliku Ustawienia publikowania przejdź do i wybierz profil utworzony w poprzedniej sekcji, a następnie kliknij przycisk Otwórz.

    Kliknij przycisk Zakończ , aby zapisać profil publikowania, a następnie kliknij pozycję Publikuj.

    Program Visual Studio rozpoczyna proces wdrażania, a okno Dane wyjściowe zawiera postęp i wyniki.

    Jeśli wystąpią jakiekolwiek błędy wdrażania, kliknij pozycję Więcej akcji>Edytuj, aby edytować ustawienia. Zmodyfikuj ustawienia i kliknij pozycję Weryfikuj , aby przetestować nowe ustawienia. Jeśli nazwa hosta nie zostanie znaleziona, spróbuj użyć adresu IP zamiast nazwy hosta w polach Serwer i Docelowy adres URL .

    Edit settings in the Publish tool

Po pomyślnym wdrożeniu aplikacji powinna zostać uruchomiona automatycznie.

Typowe problemy

Najpierw sprawdź okno Dane wyjściowe w programie Visual Studio, aby uzyskać informacje o stanie, i sprawdź komunikaty o błędach. Dodatkowo:

  • Jeśli nie możesz nawiązać połączenia z hostem przy użyciu nazwy hosta, spróbuj zamiast tego użyć adresu IP.
  • Upewnij się, że wymagane porty są otwarte na serwerze zdalnym.
  • W przypadku ASP.NET Core w usługach IIS należy upewnić się, że pole Pula aplikacji dla puli aplikacji ma ustawioną wartość Brak kodu zarządzanego.
  • Sprawdź, czy wersja ASP.NET używana w aplikacji jest taka sama jak wersja zainstalowana na serwerze. W przypadku aplikacji możesz wyświetlić i ustawić wersję na stronie Właściwości . Aby ustawić aplikację na inną wersję, należy ją zainstalować.
  • Jeśli aplikacja próbowała otworzyć, ale zostanie wyświetlone ostrzeżenie o certyfikacie, wybierz opcję zaufania do witryny. Jeśli ostrzeżenie zostało już zamknięte, możesz edytować plik *.pubxml w projekcie i dodać następujący element: <AllowUntrustedCertificate>true</AllowUntrustedCertificate>. To ustawienie jest przeznaczone tylko do testowania!
  • Jeśli aplikacja nie rozpoczyna się od programu Visual Studio, uruchom aplikację w usługach IIS, aby sprawdzić, czy została wdrożona prawidłowo.