2016-05-19 5 views
8

funktioniert Ich habe ein ASP.NET-Core-RC2-Projekt, ich versuche es zu IIS und den Befehl zu veröffentlichen dotnet publish-iis immer gibt:Dotnet veröffentlichen-iis nicht

Asp.Net Core IIS Publisher 
Usage: dotnet publish-iis [arguments] [options] 
Arguments: 
    <PROJECT> The path to the project (project folder or project.json) being published. If empty the current directory is used. 
Options: 
    -h|--help     Show help information 
    --publish-folder|-p   The path to the publish output folder 
    -f|--framework <FRAMEWORK> Target framework of application being published 

Gibt es auch ein Beispiel für wie geht das? Wie gebe ich die Parameter weiter? Es funktioniert nie ...

Antwort

8

--publish-folder und --framework Parameter sind erforderlich. Wenn Sie diese Parameter nicht angeben, zeigt das Tool die Verwendung an.

Nachdem gesagt, dass es eigentlich nicht erwartet wird, dieses Tool eigenständig auszuführen. Bei publish-iis wird lediglich die Datei web.config einer bereits veröffentlichten App optimiert (oder eine neue Datei "web.config" erstellt, falls noch keine vorhanden ist), damit IIS/IISExpress die Anwendung zum Starten finden kann. Mit anderen Worten, Sie müssen Ihre Anwendung zuerst veröffentlichen und dann veröffentlichen - ich massiere sie nur ein wenig. Als Ergebnis ist die erwartete Nutzung so zu konfigurieren, dass er als postpublish Skript ausgeführt wird:

"scripts": { 
    "postpublish": "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" 
} 

Ich beschrieb das publish-iis Werkzeug in mehr Details in dieser post on running Asp.NET Core apps with IIS

+0

Aber dies erzeugt keine 'web.config' in wwwroot. Wird das erwartet? Ich dachte web.config ist sowohl im Projektstamm als auch in wwwroot erforderlich. – VSG24

+2

Dies wird erwartet (https://github.com/aspnet/Announcements/issues/173). Der Standardspeicherort für die Datei "web.config" ist jetzt Ihr Approot und nicht wwwroot. Warum wäre es auch nützlich, zwei web.config-Dateien zu haben? – Pawel

+0

Der Name ist überhaupt nicht verwirrend . Übrigens tolle Zuschreibung. Die Aspnet-Dokumente sind großartig, aber dieser Abschnitt macht vor allem keinen Sinn in den Dokumenten. – josullivan

6

Für ASP.NET-Core 1.1. Key Stücke in project.json sind:

"tools": { 
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final" 
    }, 

    "scripts": { 
    "postpublish": "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" 
    } 

Arbeitete groß für mich!