Asp.net Core 1.0项目的project.json预发布脚本

4

嘿,这是我的project.json文件的一部分:

  "scripts": {
        "prepublish": [
          "node node_modules/webpack/bin/webpack.js --config webpack.config.vendor.js",
          "node node_modules/webpack/bin/webpack.js"
        ],
        "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
      },

我希望每次发布应用程序时都能调用预发脚本,即使是在开发环境下通过 Visual Studio 或 dotnet run 运行。在这些情况下,Prepublish 似乎不起作用。

据我所知,预/后发布仅在实际发布应用程序(例如:dotnet publish),而不是在dotnet run上工作。 - Kiran
这正是我所怀疑的,那么我该如何处理呢? - MistyK
你可以使用一个编译后脚本。 - Pawel
我会重建,但需要30秒,所以我不想每次都重建它。 - MistyK
1个回答

1
当您通过VS或使用“dotnet run”运行时,您只会从源代码中构建和运行应用程序,而不进行发布。如果您调用dotnet publish,则将触发发布脚本。

dotnet run命令提供了一种方便的选项,可以使用一个命令从源代码运行应用程序。它编译源代码,生成输出程序,然后运行该程序。

现在仅支持{{link1:以下类型的脚本}}:

  • precompile
  • postcompile
  • prepublish
  • postpublish

而你想要更像是“beforerun”/“postrun”。作为解决方法,您可以尝试直接从应用程序入口点的代码中调用您的脚本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接