gpt4 book ai didi

asp.net-core - Publishoptions 递归创建 cshtml 文件

转载 作者:行者123 更新时间:2023-12-04 13:54:43 28 4
gpt4 key购买 nike

我有 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/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com