Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 32993|Antwort: 0

[Quelle] Veröffentlichen Sie Ihr Projekt auf einem entfernten IIS-Server mit VS 2019

[Link kopieren]
Veröffentlicht am 09.10.2020 12:09:22 | | | |
Früher wurden beim Veröffentlichen von Projekten Dateien in das Seitenverzeichnis kopiert und eingefügt oder per FTP in das Seitenverzeichnis hochgeladen, doch mit dem Aufkommen von kontinuierlicher Integration, automatisiertem Betrieb und Wartung sowie automatisierter Veröffentlichung verändern sich auch die Veröffentlichungsprojekte mit jedem Tag.

Dieser Artikel beschreibt, wie man über VS 2019 aus der Ferne an einem entfernten IIS-Standort veröffentlicht.

Remote Server System: Windows Server 2019 64-Bit

Serverkonfiguration

1. IIS hinzufügen, .NET-Framework installieren (weggelassen)

2. Web Deploy herunterladen und installieren

Web Deploy kann verwendet werden, um Webprojekte lokal und remote an folgender Adresse bereitzustellen:Der Hyperlink-Login ist sichtbar.



Zum Zeitpunkt der Installation auswählen"Abgeschlossen"Nach der Installation sehen Sie den Dienst "Web Management Service" im Service, wie in der untenstehenden Abbildung dargestellt:



Wenn es nicht installiert ist, erhält VS beim Remote-Veröffentlichen folgenden Fehler:

---------------------------
Microsoft Visual Studio
---------------------------
Keine Verbindung zum entfernten Computer ("xx"). Stellen Sie sicher, dass Web Deploy auf dem entfernten Rechner installiert ist und der erforderliche Prozess ("Web Management Service") gestartet wird.  Mehr erfahren unter:https://go.microsoft.com/fwlink/ ... ATION_NOT_REACHABLE。 Keine Verbindung zu entfernten Servern möglich
---------------------------
Bist du sicher   
---------------------------


3. Installieren Sie "IIS Management Scripts and Tools"

Gehe zu "Wähle Serverrollen > Webserver (IIS) > Administrative Tools, wähle dann die Rolle IIS Administrative Scripts and Tools, klicke auf Nächst und installiere die Rolle.



4. IIS ermöglicht Fernverbindungen

Lokalisieren Sie den Verwaltungsdienst in IIS und aktivieren Sie entfernte Verbindungen, wie im folgenden Bild gezeigt:





(Anmerkung:Öffnen Sie den eingehenden Port 8172 in der Firewall- und Sicherheitsgruppe

5. Eine neue IIS-Seite erstellen

Erstellen Sie eine neue Seite namens test1, wie in der folgenden Abbildung gezeigt:



6. IIS fügt administrative Benutzer hinzu

Fügen Sie einen IIS-Manager-Benutzer hinzu, wie im folgenden Bild gezeigt:



Gleichzeitig fügen Sie auf der Test1-Seite die Genehmigung hinzu, wie in der untenstehenden Abbildung gezeigt:



Wenn Sie keine Autorisierung hinzufügen, wird folgender Fehler gemeldet, wenn Sie aus der Ferne veröffentlichen:

---------------------------
Microsoft Visual Studio
---------------------------
Sie haben sich mit einem entfernten Computer ("xxx") über den Webmanagement-Dienst verbunden, aber es nicht autorisiert. Stellen Sie sicher, dass Sie den korrekten Benutzernamen und das richtige Passwort verwenden, dass die Seite, mit der Sie verbunden sind, bereits existiert und dass der Nutzer, dessen Zugangsdaten repräsentieren, Zugriff auf die Seite hat.  Mehr erfahren unter:https://go.microsoft.com/fwlink/ ... R_USER_UNAUTHORIZED。 Der entfernte Server liefert einen Fehler: (401) Nicht autorisiert.
---------------------------
Bist du sicher   
---------------------------
Veröffentlichung ASP.NET MVC-Projekt

Erstens: Erstellen Sie ein neues .NET 4.6.2 asp.net mvc-Projekt mit dem Namen WebAutomatedDeployment unter Verwendung von VS 2019,

Erstelle zwei neue Bibliotheken, und das Website-Programm verweist gleichzeitig auf diese beiden Bibliotheken. (Erstelle und referenziere 2 Bibliotheken, da die Simulation näher am offiziellen Projekt liegt.)


Versuche, das Projekt wie unten gezeigt zu starten:



Klicken Sie mit der rechten Maustaste auf das Projekt, wählen Sie Veröffentlichen, Web Server (IIS)-> Web Deployment und füllen Sie die Serverinformationen ein, wie in der folgenden Abbildung dargestellt:



Überprüfen Sie die Verbindung und der Test besteht, wie im folgenden Bild gezeigt:



Als ich versuchte zu veröffentlichen, lautete der Fehler wie folgt:

Die Web-Deployment-Aufgabe ist fehlgeschlagen. ((2020/10/9 11:34:38) Fehlerverarbeitungsanfrage auf entferntem Computer. )

(2020/10/9 11:34:38) Fehlerverarbeitungsanfrage auf entferntem Computer.
Der Server hat Schwierigkeiten, die Anfrage zu bearbeiten. Kontaktieren Sie Ihren Serveradministrator für weitere Details.        WebAutomatedDeployment 0
Sie können spezifische Fehler über den Server Event Viewer, wie in der folgenden Abbildung gezeigt:



User: itsvse
Client-IP: xxx
Content-Type: application/msdeploy
Version: 9.0.0.0
MSDeploy.VersionMin: 7.1.600.0
MSDeploy.VersionMax: 9.0.3802.0
MSDeploy.Method: Sync
MSDeploy.RequestId: def8d9f7-1a72-4b19-8b75-919f8c6a9604
MSDeploy.RequestCulture: zh-CN
MSDeploy.RequestUICulture: zh-CN
ServerVersion: 9.0.1973.0
Skip: objectName="^configProtectedData$"
Provider: auto, Path:
Eine Trace-Deployment-Agent-Ausnahme, die an den Client weitergeleitet wurde, trat auf. Anfrage-ID "def8d9f7-1a72-4b19-8b75-919f8c6a9604", Anfrage-Zeitstempel: "2020/10/9 11:51:29". Fehlerdetails:
System.UnauthorizedAccessException: 尝试执行未经授权的操作。
   In System.Security.AccessControl.Win32.SetSecurityInfo(ResourceType, Stringname, SafeHandle Handle, SecurityInfos securityInformation, SecurityIdentifier owner, SecurityIdentifier-Gruppe, GenericAcl sacl, GenericAcl dacl)
   at System.Security.AccessControl.NativeObjectSecurity.Persist(Stringname, SafeHandle, AccessControlSections includeSections, Object exceptionContext)
   In System.Security.AccessControl.NativeObjectSecurity.Persist(Stringname, AccessControlSections includeSections, Object exceptionContext)
   bei Microsoft.Web.Deployment.FileSystemSecurityEx.Persist(Stringpath, boolean isFile)
   bei Microsoft.Web.Deployment.SetAclProvider.Add(DeploymentObject-Quelle, boolisches WhatIf)
   bei Microsoft.Web.Deployment.DeploymentObject.Update(DeploymentObject source, DeploymentSyncContext syncContext)
   bei Microsoft.Web.Deployment.DeploymentSyncContext.HandleUpdate(DeploymentObject destObject, DeploymentObject sourceObject)
   bei Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject Quelle)
   bei Microsoft.Web.Deployment.DeploymentSyncContext.ProcessSync(DeploymentObject destinationObject, DeploymentObject sourceObject)
   In Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject, DeploymentSyncOptions syncOptions, PayloadTable payloadTable, ContentRootTable contentRootTable, Nullable'1 syncPassId, String syncSessionId)
   bei Microsoft.Web.Deployment.DeploymentAgent.HandleSync(DeploymentAgentAsyncData asyncData, Nullable'1 passId, String user, String siteName)
   bei Microsoft.Web.Deployment.DeploymentAgent.HandleRequestWorker(DeploymentAgentAsyncData asyncData)
   bei Microsoft.Web.Deployment.DeploymentAgent.HandleRequest(DeploymentAgentAsyncData asyncData)
Lösung:

Starte VS Tools neu, klicke auf Veröffentlichen, und das folgende Bild erscheint:



Check "Bewahren Sie dieses Zertifikat für zukünftige Sitzungen in Visual Studia auf" kann gelöst werden.

Bei der ersten Veröffentlichung war es langsam, weil alle Dateien auf den Server hochgeladen werden mussten, wie in der untenstehenden Abbildung gezeigt:



Versuchen Sie, die Seitendatei Index.cshtml zu ändern und klicken Sie auf Veröffentlichen, nur die folgenden 3 Dateien werden aktualisiert, wie in der Abbildung unten gezeigt:



Aktualisieren Sie die Website und stellen Sie fest, dass sie aktualisiert wurde, wie unten gezeigt:



(Ende)




Vorhergehend:Baue einen Ocserv-VPN-Proxy auf CentOS 7
Nächster:Aspose. Zellen Drei Musketiere
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com