我有 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 在下面发布 View 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
最佳答案
**/*
模式还将在 wwwroot
中查找文件文件夹。您有 2 个选择:
**/ *.cshtml
要搜索的模式 .cshtml
仅在特定文件夹中,或直接在您的 .cshtml
中包含文件夹文件(Views
我猜):"publishOptions": {
"include": [
"wwwroot",
"Views",
...
]
}
.cshtml
文件,位于 wwwroot
文件夹。使用 exclude
publishOptions
中的部分:"publishOptions": {
"exclude": [
"wwwroot/*.cshtml"
]
关于asp.net-core - Publishoptions 递归创建 cshtml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40117094/