在項目中恢復包時,Nuget不執行腳本。恢復包時,NuGet不執行腳本
以下是這種情況:我有一個安裝了定製NuGet軟件包的項目。該項目已爲該解決方案啓用NuGet軟件包恢復。這一切都完美無缺地工作,我通過從TFS獲取項目到一個空文件夾多次測試。
我已經將init.ps1和install.ps1添加到nuGet包,並且該包仍然被提取並正確安裝,但是腳本不會執行,除非該包是手動安裝的。
確切地說,如果我第一次從TFS獲得項目,init.ps1和install.ps1都不會執行。但是,如果我關閉解決方案並重新打開它,init.ps1會執行(如預期的那樣),但是,當然由於軟件包已經被恢復/安裝,install.ps1仍然不會。
手動安裝/卸載軟件包時(即軟件包「恢復」時不運行),這兩個腳本都能正常執行。
我的網絡搜索沒有發現任何此行爲的參考。我是否錯過了某些明顯的東西,或者在恢復包時這是正常的?
包恢復只是簡單的還原,而不是安裝。我認爲這是設計。 http://nuget.codeplex.com/workitem/2728 – 2013-03-13 06:28:40
感謝您的鏈接 - 這也是我的結論。我沒有意識到init.ps1背後的意圖。至於install.ps1,我認爲這是有道理的,因爲這個包實際上已經被「安裝」了 - 它只是從項目文件夾中丟失,因此就是「恢復」。 – 2013-03-13 12:10:03