2016-05-19 9 views
15

Właśnie zaktualizowałem aplikację, aby korzystać z Core programu ASP.NET RC2. Opublikowałem go przy użyciu programu Visual Studio i zauważyłem, że mój obszar nie jest opublikowany:Obszar podstawowy ASP.NET RC2 nie został opublikowany

Ta migawka jest od src\MyProject\bin\Release\PublishOutput:

enter image description here

I tu jest mój obszar, nazwany Admin w Visual Studio:

enter image description here

Czy brakuje mi jakiegoś kroku?

Odpowiedz

21

Musisz skonfigurować swój punkt publishOptions z project.json zawierać folder Areas który nie jest zawarty w domyślnym szablonie:

ex:

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

Aktualizacja

Jeśli chcesz aby upewnić się, że kontrolery i inne pliki .cs nie zostały uwzględnione, możesz umieścić na czarnej liście właściwość exclude z publishOptions tak:

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

Jeśli wolisz bardziej restrykcyjne zabezpieczenia, można po prostu białej listy .cshtml plików zamiast w tym całych obszarów folderu tak:

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

Uwaga

Be ostrożnie używaj symboli wieloznacznych, takich jak **.cshtml, ponieważ zawierają one wszystkie pliki we wszystkich podkatalogach, w tym katalog bin. Jeśli masz jakieś widoki w folderze bin z poprzedniej wersji, zostaną one ponownie skopiowane wewnątrz nowego wyjścia kompilacji, dopóki ścieżka nie stanie się zbyt długa.

+0

To rzeczywiście wydaje folder 'Areas' ale również publikuje folder' Controllers' wewnątrz obszaru z 'plików .cs'! To nie jest potrzebne! – VSG24

+0

Zaktualizowałem moją odpowiedź, aby zawrzeć szczegóły tylko cshtml zawierających białe pliki, a nie włączając w to cały folder Obszarów –

+2

. Aby uwzględnić wszystkie foldery Widwork, które znajdują się w folderze Obszary, użyj tego - Obszary/**/Widoki, ale nie ma działa w RC2 i 1.0 z powodu błędu opisanego tutaj - https://github.com/dotnet/cli/issues/3286, jako obejście tego obszaru/**/*. cshtml – Sergey

0

Dodanie obszarów spowoduje skopiowanie wszystkich elementów, w tym plików .cs.

więc należy dodać "Areas/**/Views/**/*.cshtml" i "Areas/ * /.cshtml" pod publikować opcje zamiast tylko "Areas"

Powiązane problemy