如何创建触发 NuGet Update-Package –reinstall 的 powershell 脚本?
How to create a powershell script that triggers a NuGet Update-Package –reinstall?
我有一个 nuget 规范,可以在特定文件夹上安装库文件 (dll) 和两个 zip 包。从 Visual Studio 2013 手动更新包时没有问题。但是,当它从我们的 CI 服务器 TeamCity 和 CCNet 触发时,它只会更新 dll 文件,而不是至关重要的两个 zip 包。
我假设由于文件夹中存在以前的 zip 文件,覆盖文件可能有困难,因为在 VS2013 中,提示确认用户是否要覆盖这些文件。
当我使用 VS2013 的包管理器控制台时,我可以轻松触发 Update-Package –reinstall [Package Id] 并且它会正确地完成工作。现在,我需要做同样的事情并从我们的 CI 服务器应用一些自动化。
如果我理解正确的话,我可以从powershell触发nuget命令吗?
非常感谢您的意见,我不是这方面的专家。
你应该 运行 update command from nuget.exe。 update 命令的参数之一是 FileConflictAction
,它告诉当要求覆盖或忽略项目引用的现有文件时要采取的操作:overwrite
、Ignore
、None
.
您可能必须将所有内容包装在 powershell 脚本中,可能指的是 EnvDTE,以设置您的路径并模拟您在 Visual Studio.
中的 PowerShell 控制台所拥有的环境
我有一个 nuget 规范,可以在特定文件夹上安装库文件 (dll) 和两个 zip 包。从 Visual Studio 2013 手动更新包时没有问题。但是,当它从我们的 CI 服务器 TeamCity 和 CCNet 触发时,它只会更新 dll 文件,而不是至关重要的两个 zip 包。
我假设由于文件夹中存在以前的 zip 文件,覆盖文件可能有困难,因为在 VS2013 中,提示确认用户是否要覆盖这些文件。
当我使用 VS2013 的包管理器控制台时,我可以轻松触发 Update-Package –reinstall [Package Id] 并且它会正确地完成工作。现在,我需要做同样的事情并从我们的 CI 服务器应用一些自动化。
如果我理解正确的话,我可以从powershell触发nuget命令吗?
非常感谢您的意见,我不是这方面的专家。
你应该 运行 update command from nuget.exe。 update 命令的参数之一是 FileConflictAction
,它告诉当要求覆盖或忽略项目引用的现有文件时要采取的操作:overwrite
、Ignore
、None
.
您可能必须将所有内容包装在 powershell 脚本中,可能指的是 EnvDTE,以设置您的路径并模拟您在 Visual Studio.
中的 PowerShell 控制台所拥有的环境