问题标签 [nuget-cli]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
34 浏览

nuget - 如何删除 NuGet 库

我不小心在 NuGet 中创建了一个库并想删除它(到目前为止,没有人下载它)。我已经安装了 NuGet CLI,并尝试了以下命令:

当我这样做时,它会要求我输入用户名和密码;但是,我使用我的 Microsoft 用户名和密码(NuGet CLI 似乎不接受)登录到 NuGet。我怎样才能解决这个问题?

0 投票
0 回答
135 浏览

jenkins - 如何使用 Nuget.exe 获取特定安装的 Nuget 包的版本?

我正在 Jenkins 中构建一个 Selenium/Specflow 项目,并希望通过 Nuget.exe CLI 获取当前安装的 NUnit Console Runner 包版本。

我必须在我的 Jenkins 构建中引用 NUnit Console Runner 包文件夹路径才能运行 NUnit 测试。文件夹名称中包含版本,而不是随着版本更改而更改的硬编码路径,我想获取包的当前版本并使用它来动态构建路径。

我已经阅读了许多解释如何在 Powershell 和 Visual Studio 客户端中获取版本的问题,但我还没有在任何地方看到解释如何使用 nuget.exe 获取此信息的解决方案。我的 Jenkins 构建的其余部分正在使用 nuget.exe,并且我有自动更新,所以我想尽可能使用它。

我尝试使用 List 命令,但它没有引用 Local,因为 Local 不是注册源。

如果我使用活动源运行它,我会在远程 Nuget 存储库中获得标题中带有 nunit 的所有内容,这不是我想要的。

***********编辑***********

我可以通过将安装包的文件夹作为源放入来获取包

我编写了以下脚本来捕获它并在 Nuget 包的路径中使用它

C:/Jenkins/workspace/Project/packages/ - 无论你的构建将你的包恢复到 C:/Jenkins/workspace/Project/bin/Debug/test.dll - 包含你的 NUnit 测试的 DLL 的路径

0 投票
0 回答
154 浏览

nuget - NuGet 安装匹配模式版本

如何安装具有匹配模式的 nuget 包:
例如,我希望 nuget 获得与模式匹配的任何版本1.0.0*1.1.0-rc1.1.0.1等...)。

但是nuget不支持通配符,我得到一个错误'1.1.0*' is not a valid version string

并运行:
nuget install <mypackage> -Version 1.0.0 -Source <myserver>
只会解析1.0.0版本而不是别的。

我实际上编写了一个脚本来查询服务器的版本,并选择我想要的任何内容,但我想知道是否有一种仅使用 nuget CLI 的本地方法。

0 投票
2 回答
1229 浏览

nuget - 如何仅为特定目标框架从 NuGet 包还原程序集

我正在寻找一种方法来恢复 NuGet 包的程序集,该包正好针对一个框架,在本例中为 net45

这是我的包配置:

这是我的 NuGet 配置文件:

版本是:NuGet Version: 5.2.0.6090

运行:nuget restore packages.config -ConfigFile nuget.config恢复所有targetframework版本的程序集,如下所示:

根据docs.microsoft.com

当 NuGet 安装具有多个程序集版本的包时,它会尝试将程序集的框架名称与项目的目标框架匹配。

如果未找到匹配项,NuGet 会复制小于或等于项目目标框架的最高版本的程序集(如果可用)。如果未找到兼容的程序集,NuGet 将返回相应的错误消息。

例如,考虑一个包中的以下文件夹结构:

在面向 .NET Framework 4.6 的项目中安装此包时,NuGet 将程序集安装在 net45 文件夹中,因为这是小于或等于 4.6 的最高可用版本。

另一方面,如果项目以 .NET Framework 4.6.1 为目标,NuGet 会将程序集安装在 net461 文件夹中。

从上面的段落我了解到,当我设置目标框架时,我应该能够只恢复那个目标框架的程序集。在我的情况下,NuGet 似乎完全忽略了该targetFramework属性,并始终为所有目标框架安装 dll。将其从net45更改为net40无效。

如何让 NuGet还原特定目标框架的包中的 dll?

0 投票
1 回答
155 浏览

c# - 跨多个解决方案和项目卸载/安装 Nuget 包

  • 我如何为uninstall一个package by id and version文件夹下的所有解决方案和项目创建一个?
  • 我如何为install一个package by id and version目录下的所有解决方案和项目?

有一个包管理器方法,有点类似 Post,它显示了如何为 A 解决方案下的所有项目执行此操作。您可以使用解决方案中的包管理器控制台并将其用于一种解决方案。但是如何在它们下的多个解决方案和项目中做同样的事情呢?

0 投票
1 回答
234 浏览

azure-devops - 如何将 nuget 预发布包发布到提要?

我通过运行nuget.exe push命令手动将 nuget 包推送到 Azure Devops 源。当我构建我的项目时,该AssemblyName.1.0.0.nupkg文件被创建,我将其推送为:

这工作正常并且包已成功发布(作为包版本 1.0.0)。但是,我无法发布像 1.0.0-beta 这样的预发布包。

我试过什么?

  1. 我在中添加了以下内容AssemblyInfo.cs

当我构建项目时,它仍然会生成AssemblyName.1.0.0.nupkg但不会生成AssemblyName.1.0.0-beta.nupkg.

  1. 我在中添加了以下内容csproj

它仍然只生成AssemblyName.1.0.0.nupkg.

我想要的是?

你能让我知道如何发布一个预发布的 nuget 包1.0.0-beta吗?

编辑:

该项目的目标框架是.NET Framework 4.5.