2013-04-02 11 views
9

Ich versuche sicherzustellen, dass meine App in einem bestimmten Anwendungspool bereitgestellt wird, der bei Verwendung von Web Deploy bereits vorhanden ist. Der Anwendungspool sollte vom Benutzer über die GUI konfiguriert werden können, wenn die Anwendung über den IIS-Manager installiert wird, oder indem der Wert in der Datei .setparameters.xml bei der Installation über die Befehlszeile aus einem Webpaket geändert wird. Das Einfügen des folgenden Parametereintrags in meine parameter.xml funktioniert nicht.Wie targe ich einen bereits vorhandenen Anwendungspool mit Webdeploy?

<parameter name="Application Pool" description="Application Pool for this site" tags="iisApp" defaultValue="ASP.NET v4.0"> 
    <parameterEntry kind="providerPath" scope="IisApp" match="applicationPool" /> 
</parameter> 

Gibt es einen einfachen Weg, dies zu erreichen? Wenn nicht, wie würde ich das machen?

Antwort

7

Hier ist, was ich tat, den Anwendungspool über die Kommandozeile oder SetParameters.xml nach vielen Lesen auf SO und anderswo zu setzen:

  1. das Projekt eine Parameters.xml Datei hinzufügen.

    <?xml version="1.0" encoding="utf-8" ?> 
    <parameters> 
        <parameter name="AppPool" defaultValue="ASP.NET 4.0"> 
        <parameterEntry kind="DeploymentObjectAttribute" scope="application" match="applicationPool/@applicationPool" /> 
        </parameter> 
    </parameters> 
    
  2. zwei Parameter hinzufügen msbuild, wenn das Paket zu erstellen:

    /P:IncludeIisSettings=true 
    /P:IncludeAppPool=true 
    
  3. über SetParameters.xml Set:

    <setParameter name="AppPool" value="Some AppPoolName"/> 
    

    OR

    Verwenden von Befehlszeilenparameter (msdeploy oder *.deploy.cmd):

    "-setParam:'AppPool'='Some AppPoolName'"