Ich verwende Web Deploy (ab VS2013), um eine ASP.NET MVC-Site auf einem IIS 7.5 zu veröffentlichen.Web Deploy Löschen der benutzerdefinierten IIS-Website-Konfiguration
Ich habe einige URL-Rewrite-Regeln und benutzerdefinierte HTTP-Antwortheader über den IIS-Manager hinzugefügt.
Das Problem ist jedes Mal, wenn ich eine neue Version der Site bereitstellen, diese zusätzliche Konfiguration wird gelöscht.
Ist dies das erwartete Verhalten oder stimmt etwas nicht? Wie kann ich diese benutzerdefinierten Einstellungen bei jeder Bereitstellung beibehalten?
UPDATE
So verstand ich mich diese Änderungen in den web.config
setzen muß. Ich versuche, sie in die Web.Release.config
zu setzen, aber es wird nicht zu der entfalteten web.config
hinzugefügt. Ich denke, ich vermisse etwas XDT:Transform
Regel.
Dies ist, was ich in meinem Web.Release.config
bekommen habe (ja, das Publishing-Profil verwendet diese Release-Konfiguration).
<configuration>
<!-- some other stuff -->
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect to www" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions>
<add input="{HTTP_HOST}" pattern="mydomain.com" />
</conditions>
<action type="Redirect" url="http://www.mydomain.com/{R:0}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Sind diese in die web.config setzten Veränderungen, die eingesetzt wird? Wenn Sie den Unterschied zwischen Ihrer lokalen web.config-Datei und der bereitgestellten Datei prüfen (nachdem die Änderungen vorgenommen wurden), gibt es Unterschiede zwischen den Dateien? – NoLifeKing
@NoLifeKing Nein, wie gesagt, die Änderungen wurden über den IIS-Manager vorgenommen, nicht über web.config. Muss ich sie über web.config erstellen? – emzero
Änderungen, die im IIS-Manager vorgenommen wurden, ändern die bereitgestellte web.config-Datei mit den neuen Werten. Natürlich gibt es Ausnahmen, was geändert wird, nicht alles wird in die web.config gelegt. – NoLifeKing