簡體   English   中英

通過nuget命令行執行powershell腳本

[英]Execute powershell scripts through nuget command line

我做了一個本機包,其中包括本機DLL。 該包就像SqlServerCompact.4.0.8852.1.nupkg

當我通過“ Manage Nuget Packages ...”通過GUI安裝軟件包時,一切都很好,本機DLL被復制到Debug / Release文件夾中。 復制本機Dll是通過類似於SqlSerCompact中的腳本完成的。

我有以下.bat文件來自動化MyProject的打包程序:

..\..\tools\nuget\bin\NuGet.exe install MyProject\packages.config -o packages\
..\..\tools\nuget\bin\NuGet.exe install MyProjectTest\packages.config -o packages\
..\..\tools\nuget\bin\nuget update MyProject.sln
msbuild /m /p:Configuration=Release /p:Platform="x64" MyProject.sln
..\..\tools\nuget\bin\nuget pack MyProject.nuspec

上面的腳本運行完美,以獲取MyProject.nupkg (編譯只需要.Net dlls)。 但是nuget install不會在依賴項程序包中執行復制腳本-因此編譯MyProjectTest很好,但是在執行其EXE時,其Debug / Release文件夾中沒有本地DLL。

我的問題是為什么從命令行安裝軟件包時不執行powershell腳本? 以及如何處理呢? 謝謝!

NuGet.exe不支持它。 有關此問題的代碼復合體有一個討論,並且在問題跟蹤系統中提出了一些已經關閉的問題。 David Ebbo也有一篇博客文章,介紹了支持此功能的問題。

普遍的問題是,在PowerShell腳本中,您可以使用Visual Studio對象模型,以便能夠從Visual Studio外部公開它並支持所有方案都是不平凡的。

我看到支持從Visual Studio外部運行PowerShell腳本,使用SharpDevelop作為實驗來查看可能的內容。 這是一個非常重要的解決方案,因為它需要SharpDevelop才能工作,而不僅僅是NuGet.exe。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM