如何创建一个触发NuGet Update-Package -reinstall的powershell脚本?

时间:2015-06-15 05:10:06

标签: powershell nuget-package

我有一个nuget规范,可以在特定文件夹上安装库文件(dll)和两个zip包。手动从Visual Studio 2013执行此更新包时没有问题。但是,当我们的CI服务器TeamCity和CCNet触发它时,它只更新dll文件,而不是更新两个zip包。

我认为由于文件夹中存在先前的zip文件,因此可能难以覆盖文件,因为在VS2013中,提示确认用户是否要覆盖这些文件。

当我使用VS2013的软件包管理器控制台时,我可以轻松触发Update-Package -reinstall [软件包ID],它将正确完成工作。现在,我需要做同样的事情并从CI服务器应用一些自动化。

如果我理解正确,我可以从powershell触发nuget命令吗?

我非常感谢您的投入,我不是这方面的专家。

1 个答案:

答案 0 :(得分:1)

您应该运行update command from nuget.exe。更新命令的一个参数是FileConflictAction,它告诉我们要求覆盖或忽略项目引用的现有文件时要采取的操作:overwriteIgnore,{{1} }。

您可能必须将所有内容都包含在PowerShell脚本(可能是指EnvDTE)中,以设置路径并模拟Visual Studio中PowerShell控制台所具有的环境。