ASP.NET Core RC2区域未发布

时间:2016-05-19 14:20:04

标签: c# asp.net-core asp.net-mvc-areas .net-core-rc2

所以我刚刚更新了我的应用程序以使用ASP.NET Core RC2。我使用Visual Studio发布它并注意到我的区域未发布:

此快照来自src\MyProject\bin\Release\PublishOutput

enter image description here

这是我的区域,在Visual Studio中名为Admin

enter image description here

我错过了一步还是什么?

2 个答案:

答案 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"