2016-07-15 93 views
4

嘿,这是我的project.json文件的一部分:Asp.net 1.0核心project.json prepublish脚本

"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%" ] 
     }, 

我想我每次发布应用程序时要调用的脚本prepublish即使它是一个开发环境我通过visual studio或dotnet运行它。 Prepublish在这些情况下似乎不起作用

+0

据我所知,只有当你发布应用程序(例如:dotnet publish)而不是在dotnet上运行时,pre/post发布才有效 –

+0

这就是我所怀疑的,那么我该如何处理呢? – MistyK

+0

你可以使用postcompile脚本 – Pawel

回答

1

当您运行VS或使用'dotnet run'时,您只能从源代码构建并运行应用程序,而无需发布。如果您拨打dotnet publish,将会触发发布脚本。

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

眼下只有the following types of script are supported

  • 预编译
  • postcompile
  • prepublish
  • postpublish

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