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.
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
Aktualisierte meine Antwort, um Details von white-listing nur cshtml-Dateien aufzunehmen, anstatt den gesamten Ordner Areas einzubeziehen –
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