Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET核心RC2区域未发布_C#_Asp.net Core_Asp.net Mvc Areas_.net Core Rc2 - Fatal编程技术网

C# ASP.NET核心RC2区域未发布

C# ASP.NET核心RC2区域未发布,c#,asp.net-core,asp.net-mvc-areas,.net-core-rc2,C#,Asp.net Core,Asp.net Mvc Areas,.net Core Rc2,所以我刚刚更新了我的应用程序,使用ASP.NET Core RC2。我使用Visual Studio发布了它,并注意到我的区域未发布: 此快照来自src\MyProject\bin\Release\PublishOutput: 这是我在Visual Studio中的区域,名为Admin: 我是否缺少一个步骤或什么?您需要配置project.json的publishOptions部分,以包含默认模板中未包含的区域文件夹: 例: 更新 如果要确保不包括控制器和其他.cs文件,可以使用publis

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

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

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


我是否缺少一个步骤或什么?

您需要配置
project.json
publishOptions
部分,以包含默认模板中未包含的
区域
文件夹:

例:

更新

如果要确保不包括控制器和其他.cs文件,可以使用
publishOptions
exclude
属性将其列入黑名单,如下所示:

"publishOptions": {
  "include": [ "wwwroot", "Views", "appsettings.json", "web.config", "Areas" ],
  "exclude": [ "**.user", "**.vspscc", "**.cs", "bin" ]
}
如果您喜欢更严格的安全性,您可以简单地将.cshtml文件列入白名单,而不是像这样包含整个Areas文件夹:

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


小心使用通配符,如
**.cshtml
,因为它们将包括所有子目录中的所有文件,包括
bin
目录。如果您的
bin
文件夹中有以前生成的任何视图,它们将在新生成输出中再次复制,直到路径变得太长。

添加区域将复制所有内容,包括.cs文件


因此,应该在发布选项下添加
“Areas/***/Views/***/.cshtml”
“Areas/*/.cshtml”
,而不仅仅是
“Areas”

这确实会发布
Areas
文件夹,但它也会在包含
.cs
文件的区域内发布
Controllers
文件夹!那不是我想要的!更新了我的答案,仅包含白名单cshtml文件的详细信息,而不包括整个区域文件夹。为了包含位于区域文件夹内的所有视图文件夹,请使用-Areas/**/Views,但由于此处描述的错误,它在RC2和1.0中不起作用,因为解决方法使用了此区域/**.cshtml
"publishOptions": {
  "include": [ "wwwroot", "**.cshtml", "appsettings.json", "web.config" ],
  "exclude": [ "bin" ]
}