【问题标题】:MSBuild skips some tasks when DeployOnBuild and PublishProfile parameters are present存在 DeployOnBuild 和 PublishProfile 参数时,MSBuild 会跳过一些任务
【发布时间】:2021-02-18 17:45:35
【问题描述】:

当我使用 msbuild 从命令行构建 Web 项目且没有特殊参数时,它似乎构建得很好,包括调用 nswag 任务来构建 TS 文件。

当我使用 /p:DeployOnBuild=true 参数和 /p:PublishProfile 参数集构建相同的 Web 项目时,根本没有调用 nswag,并且构建失败,因为没有构建任何 TS 文件。

不使用 DeployOnBuild 参数附加? csproj 文件中指定的任何构建任务都不应该继续执行吗?

【问题讨论】:

    标签: msbuild nswag


    【解决方案1】:

    使用 MSBuild 的结构化日志查看器,我能够确定为什么当 DeployOnBuild=true 时,MSBuild 似乎跳过了我的 csproj 文件中指定的 NSwag 任务。

    构建顺序很重要!

    在我们的项目中,我们在构建时构建一个客户端 TS 文件,然后在最后运行 yarn tsc 来构建所有的 JS 文件。

    我们添加DeployOnBuild=true,在构建过程的早期,它会尝试将 JS 文件复制到包文件夹中。但是因为客户端 TS 文件还没有被构建并且 JS 文件是从它创建的,所以构建失败并且甚至没有到达 NSwag 命令。

    【讨论】:

    猜你喜欢
    • 2019-08-30
    • 1970-01-01
    • 2012-09-16
    • 2011-06-25
    • 2020-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多