Ich habe Dutzende von Websites durchsucht, die mir bei der Bereitstellung eines Webdiensts für einen IIS mit MsDeploy helfen. Ich muss die Anwendung erstellen, Anwendungspool ändern und Protokolle aktivieren und eine appSetting (die eine Verbindungszeichenfolge enthält, fragen Sie mich nicht warum) aktualisieren.
Ich kann alle diese Aufgaben erledigen, außer den guten Anwendungspool anzuwenden.
Hier ist die Datei parameter.xml, die ich dem Projekt hinzugefügt habe:
%Vor%So generiere ich das Paket:
%Vor%Hier ist die generierte Datei archive.xml:
%Vor%Hier ist die generierte parameter.xml:
%Vor%Und schließlich, hier ist der Befehl, den ich zum Bereitstellen des Pakets starte:
%Vor%Ich bekomme das folgende Protokoll:
%Vor%Aber schließlich, der Anwendungspool, der DefaultAppPool (und nicht FinalAppPool wie erwartet) festgelegt ist. Ich dachte zuerst, dass msdeploy den Standard-Anwendungspool-Wert für den Parameter "IIS Web Application Pool Name" genommen hat. aber es dauert immer DefaultAppPool. Ich verstehe einfach nicht warum.
Wie Sie sehen, verwende ich die Standardauthentifizierung mit einem Konto ohne Administratorrechte. Ich habe den Management-Delegierungsdienst auf dem Zielserver aktiviert, um contentPath, iisApp und setAcl an den aktuellen Benutzer und createApp und appHostConfig an WDeployConfigWriter zu delegieren.
Die Tatsache, dass ich den Parameter "Application Pool" hinzugefügt habe, ist , weil ich gefunden habe das hier . Aber selbst wenn ich nur einen dieser beiden Parameter (Application Pool und IIS Web Application Pool Name) beibehalte, ist der zweite wegen des Msbuild-Paketparameters IncludeIisSettings = true immer in der Datei archive.xml und das Ergebnis ist das gleiche.
Es scheint kein richtiges Problem zu sein, solange der Anwendungspool wirklich von msdeploy gesetzt wird. Es ist nur, dass es den bereitgestellten Anwendungspool nicht benötigt.
Wir haben auch ein ähnliches Problem für Enable Protocols.
Entschuldigung für die Länge, aber ich wollte erschöpfend sein.
Tags und Links c# iis visual-studio msbuild msdeploy