所以我刚刚更新了我的应用程序以使用ASP.NET Core RC2。我使用Visual Studio发布它并注意到我的区域未发布:
此快照来自src\MyProject\bin\Release\PublishOutput
:
这是我的区域,在Visual Studio中名为Admin
:
我错过了一步还是什么?
答案 0 :(得分:21)
您需要配置publishOptions
的{{1}}部分,以包含默认模板中未包含的project.json
文件夹:
例如:
Areas
<强>更新强>
如果您想确保不包含您的控制器和其他.cs文件,可以使用"publishOptions": {
"include": [
"wwwroot",
"Views",
"appsettings.json",
"web.config",
"Areas"
],
"exclude": [ "bin" ]
}
exclude
属性进行黑名单,如下所示:
publishOptions
如果您更喜欢更严格的安全性,您可以简单地将.cshtml文件列入白名单,而不是包括整个区域文件夹,如下所示:
"publishOptions": {
"include": [ "wwwroot", "Views", "appsettings.json", "web.config", "Areas" ],
"exclude": [ "**.user", "**.vspscc", "**.cs", "bin" ]
}
注意强>
小心使用"publishOptions": {
"include": [ "wwwroot", "**.cshtml", "appsettings.json", "web.config" ],
"exclude": [ "bin" ]
}
之类的通配符,因为它们将包含所有子目录中的所有文件,包括**.cshtml
目录。如果您在先前版本的bin
文件夹中有任何视图,它们将在新版本输出中再次复制,直到路径变得太长。
答案 1 :(得分:0)
添加区域将复制包括.cs文件在内的所有内容。
所以应该在发布选项下添加"Areas/**/Views/**/*.cshtml"
和"Areas/ * /.cshtml"
,而不仅仅是"Areas"