如何将软件包安装到 Scrip 文件夹

How to install packages to Scrip folder

我在 Azure DevOps 中有我的应用程序(Apache Cordova 工具)。我想在 Azure DevOps 中构建应用程序。我添加了 NuGet 工具安装程序和 NuGet 恢复任务。

但 NuGet 仅恢复任务并将文件放入 packages 文件夹中(例如 AngularJs)。

在 Microsoft Visual Studio 中,我在程序包管理器控制台中使用 Update-Package -reinstall 命令将文件放入 "scripts" 文件夹。并且这些文件被其他 ts 文件引用。

如何将命令 Update-Package -reinstall 重写为 Azure DevOps 任务?

我尝试使用命令安装添加 NuGet 自定义任务。即使找不到包,它也能正常工作。

更新:

packages and scripts have different hierarchy

在 NuGet 任务中,您可以按 "Advanced" 并指定要将包下载到的文件夹,因此请在此处键入 "scripts" 文件夹路径。

How can I rewrite command Update-Package -reinstall to Azure DevOps task?

首先,您无法使用此命令行 Update-Package -reinstall 执行 Azure DevOps 任务。那是因为包管理器控制台提供了对 visual studio 对象:

的访问

https://github.com/NuGet/Home/issues/1512

因此,我们无法在 visual studio 之外使用包管理器控制台 powershell。

How to install packages to Scrip folder

由于 nuget restore task 只恢复 packages 目录(\packages 文件夹)中的文件,而不会恢复项目中的文件或以其他方式修改项目。我们必须手动将这些 .js 复制到 /scripts 文件夹。

要解决此问题,我们可以在 nuget 还原后向 Azure DevOps 添加复制任务,以将这些文件从 /packages 文件夹复制到 /scripts 文件夹。或者您可以将这些 .js 添加到源代码管理中。

此外,不鼓励将 NuGet 用于 css/javascript 库。您应该使用 npm(节点包管理器)添加 JavaScript 库,而不是使用 NuGet。

如果您有兴趣,请参阅this document and this document了解更多详情。

希望这对您有所帮助。