【发布时间】:2016-10-18 20:03:33
【问题描述】:
我有 ASP.NET Core 应用程序。在project.json 中,我将发布选项配置如下
"publishOptions": {
"include": [
"wwwroot",
"**/*.cshtml",
"appsettings.json",
"appsettings.development.json",
"appsettings.staging.json",
"appsettings.production.json",
"web.config"
]
},
我正在使用由 vs 2015 为 asp.net 核心 web 项目创建的默认项目模板。所以所有.cshtml 文件都在Views 文件夹下。
当我执行dotnet publish -c Development 命令时,dotnet 会在
C:\MySolutionDir\Src\MyUIProjectDir\bin\Development\netcoreapp1.0\publish\Views
然后我再次执行相同的命令。这次bin\Development\netcoreapp1.0\publish\Views下已经有cshtml文件了,所以这次发布命令额外创建了如下文件夹结构
C:\MySolutionDir\Src\MyUIProjectDir\bin\Development\netcoreapp1.0\publish\bin\Development\netcoreapp1.0\publish\Views
如果我再次执行该命令,那么它会创建
C:\MySolutionDir\Src\MyUIProjectDir\bin\Development\netcoreapp1.0\publish\bin\Development\netcoreapp1.0\publish\bin\Development\netcoreapp1.0\publish\Views
它基本上递归地在“MyUIProjectDir”下找到 .cshtml 文件,并不断创建 Views 文件夹的深层层次结构。
我还有其他环境,有文件夹之类的
C:\MySolutionDir\Src\MyUIProjectDir\bin\Staging
C:\MySolutionDir\Src\MyUIProjectDir\bin\Production
发布命令还将 cshtml 从“暂存”和“生产”复制到开发中。
如何解决此问题,因此发布命令仅从“MyUIProjectDir\Views”文件夹(而不是 bin)复制 cshtml
【问题讨论】:
-
如果将“**/ *.cshtml”替换为“视图”会怎样?因为 **/ * 模式也会在 wwwroot 文件夹中查找文件
标签: asp.net-core coreclr