2016-05-19 9 views
15

Also habe ich gerade meine App aktualisiert, um ASP.NET Core RC2 zu verwenden. Ich veröffentlichte es mit Visual Studio und bemerkte, dass meine Umgebung nicht veröffentlicht:ASP.NET Core RC2 Bereich nicht veröffentlicht

Dieser Schnappschuss ist von src\MyProject\bin\Release\PublishOutput:

enter image description here

Und hier ist mein Gebiet, genannt Admin in Visual Studio:

enter image description here

Vermisse ich einen Schritt oder was?

Antwort

21

Sie benötigen publishOptions Abschnitt project.json enthalten die Areas Ordner, die in der Standardvorlage enthalten ist, nicht zu konfigurieren:

ex:

"publishOptions": { 
    "include": [ 
    "wwwroot", 
    "Views", 
    "appsettings.json", 
    "web.config", 
    "Areas" 
    ], 
    "exclude": [ "bin" ] 
} 

aktualisieren

Wenn Sie möchten, Um sicherzustellen, dass Ihre Controller und andere .cs-Dateien nicht enthalten sind, können Sie mit der exclude-Eigenschaft voneine schwarze Liste erstellenwie so:

"publishOptions": { 
    "include": [ "wwwroot", "Views", "appsettings.json", "web.config", "Areas" ], 
    "exclude": [ "**.user", "**.vspscc", "**.cs", "bin" ] 
} 

Wenn Sie restriktivere Sicherheits bevorzugen, können Sie einfach weiße Liste .cshtml Dateien, anstatt die gesamten Bereiche einschließlich Ordner wie so:

"publishOptions": { 
    "include": [ "wwwroot", "**.cshtml", "appsettings.json", "web.config" ], 
    "exclude": [ "bin" ] 
} 

Hinweis

Be vorsichtig mit Wildcards wie **.cshtml, da sie alle Dateien in allen Unterverzeichnissen, einschließlich der bin Verzeichnis enthalten. Wenn Sie in Ihrem Ordner bin Ansichten aus einem früheren Build haben, werden sie in der neuen Build-Ausgabe erneut dupliziert, bis der Pfad zu lang wird.

+0

Dieser in der Tat veröffentlicht den 'kommenden Gebiete Ordner aber es veröffentlicht auch die' Controllers' Ordner in einem Bereich mit '.cs' Dateien! Das ist nicht gewollt! – VSG24

+0

Aktualisierte meine Antwort, um Details von white-listing nur cshtml-Dateien aufzunehmen, anstatt den gesamten Ordner Areas einzubeziehen –

+2

Um alle Views-Ordner einzuschließen, die sich innerhalb des Areas-Ordners befinden, verwenden Sie diese - Bereiche/**/Views, aber das tut sie nicht 't arbeiten in RC2 und 1.0 wegen des Fehlers, der hier beschrieben wird - https://github.com/dotnet/cli/issues/3286, als Workaround verwenden Sie diese Bereiche/**/*. cshtml – Sergey

0

Durch Hinzufügen von Bereichen wird alles einschließlich der CS-Dateien kopiert.

sollte so hinzufügen "Areas/**/Views/**/*.cshtml" und "Areas/ * /.cshtml" unter veröffentlichen Optionen statt nur "Areas"

Verwandte Themen