2016-07-15 120 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」/ 「後運行」 。作爲一種解決方法,您可以嘗試直接從應用程序入口點的代碼調用腳本。