问题标签 [nuget-update]

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 投票
2 回答
151 浏览

nuget - nuget 命令行更新未检测到所有需要更新的 packages.config

我们有一个构建步骤,用于在构建服务器 (TeamCity) 的解决方案中安装和更新 nuget 包。最近,这已停止正确进行更新。我对此进行了调查,发现问题似乎是nuget中的更新命令没有更新解决方案中的所有项目。我可以在我的本地机器上复制它。

当我运行这个命令时:

我得到了它要更新的 10 个项目的列表

然而,该解决方案包含 13 个项目,这些项目都包含packages.config文件,据我所知,与其他任何项目都没有什么不同。这些项目是单个项目及其子项目,我们的项目目录结构与项目名称匹配(因此 project1.subproject1 意味着 subproject1 位于 project1 内的文件夹中)以防万一。有问题的项目都在一个具有特定名称的项目中,例如:

如果名称的路由部分导致问题(我们在使用Resources包名称末尾的单词之前遇到问题)

我们有 50 多种解决方案,它们都使用相同的构建配置和步骤,并且适用于所有解决方案。该解决方案似乎是唯一没有正确更新的解决方案。

有谁知道为什么会这样?或者有谁知道在解决方案中找到包的代码会导致它找不到一些 packages.config 文件吗?或者任何可能有助于追踪这个问题的东西?

0 投票
1 回答
1126 浏览

c# - NuGet 不更新我的项目中的 dll 引用

我的 nuspec 中有以下结构:

我没有包含B.dll在参考资料中,因为用户可以选择添加作为参考资料。

现在,当我执行 时Update-Package,它会更新到 的路径A.dll,但不会B.dll在您将其添加为参考时更新。

如何将其保留B.dll为可选lib文件,但在更新 NuGet 包时仍使其更新?

我正在使用 Visual Studio 2013 包管理器控制台。

0 投票
2 回答
769 浏览

nuget - project.json 指定 NuGet 依赖项的确切版本

使用packages.config文件指定 NuGet 依赖项时,我可以提供allowedVersions属性来指定SemVer字符串,该字符串定义我希望能够更新到的版本范围。通过使用[],我目前能够有效地将我的包固定到单个版本。例如:

现在,在 .net 核心项目中,我们必须project.json指定 NuGet 依赖项(尽管它可能是短暂的),我如何将 NuGet 依赖项固定到一个dotnet restore不会将我的应用程序更新为新版本的版本,可从我的包源?

此nuget 文档中的图 #2仅暗示这是可能的,但未提供执行此操作的语法。

- 更新 -

我使用两个 .net 核心类库和我的本地文件系统作为包存储库对此进行了测试。我创建了一个名为的类库UpdateMeDependencyLib并将其打包为 v1.0.0,并通过 nuget 从第二个项目中使用它。下面是来自第二个类库的 project.json 消耗UpdateMeDependencyLib

然后我更新UpdateMeDependencyLib到版本 1.1.0 并重新打包,所以现在我的本地系统上有一个 v1.0.0 和一个 v1.1.0 nuget 包。创建v1.1.0后UpdateMeDependencyLib我现在得到如下体验

  • 在 Visual Studio 中编译项目(不更改使用者 project.json),将UpdateMeDependencyLib输出 v1.1.0 消耗到其 bin 目录
    • 如果我强制在消费者库上恢复包,我现在会收到 Nuget 警告“指定的 NU1007 依赖项是 UpdateMeDependencyLib >= 1.0.0 但最终是 UpdateMeDependencyLib 1.1.0”

NU1007 警告

所以它看起来只是在我的消费库中使用“1.0.0”并没有固定它,当我的 NuGet 源中出现新版本时它会自动更新。

0 投票
0 回答
201 浏览

nuget - 带有包的 nuget update 命令。.config

nuget update命令似乎不支持packages.config'文件名的packages.projectName.config格式。

返回:未指定 packages.config、项目或解决方案文件。

但它适用于nuget restore命令。

有没有方法可以在不重命名配置文件的情况下进行更新?

0 投票
2 回答
2038 浏览

.net - nuget.exe 更新为新的 csproj 格式

我正在尝试从命令行更新某些项目的 nuget 引用。这些项目使用包含 PackageReference 元素的新格式。我正在使用的命令是:

这会导致错误:

项目的默认 XML 命名空间必须是 MSBuild XML 命名空间。如果项目以 MSBuild 2003 格式创作,请将 xmlns="http://schemas.microsoft.com/developer/msbuild/2003" 添加到元素中。如果项目是以旧的 1.0 或 1.2 格式创作的,请将其转换为 MSBuild 2003 格式。

有没有办法使用 nuget.exe 或 dotnet.exe 从命令行更新包?

0 投票
0 回答
211 浏览

c# - 如何在 PowerShell 或 CMD 上运行 Nuget 的“重新安装”命令

我想打包我的基础程序集。但是,当程序集更新时,我必须在项目上重新安装这个包。因为我不改变程序集的版本。

为此,我尝试添加

Update-Package -reinstall

预构建事件。

但我拿了“

命令 Update-Package -Reinstall" 以代码 9009 退出。

错误。

我试着跑

nuget Update-Package -Reinstall

在 PowerShell 上。

这次我拿

未知命令:“更新包”

错误。

任何帮助都感激不尽。

提前致谢。

0 投票
1 回答
261 浏览

visual-studio - 由于不兼容,无法更新 nuget 包

我无法更新WindowsAzure.StorageNuGet 包。似乎其他软件包可能依赖于它,每次我更新该软件包时,我都会遇到同样的错误:

安装失败。回滚... 将“Microsoft.Data.OData 5.6.2”更新为“Microsoft.Data.OData 5.6.4”失败。找不到与“Microsoft.Data.OData 5.6.4”兼容的“WindowsAzure.MobileServices.Backend.Tables、WindowsAzure.MobileServices.Backend.Entity”版本。

为什么我会得到这个,我该如何解决这个问题?

0 投票
2 回答
2972 浏览

c# - update-package 运行时约束 PackageReference 升级版本

在 .NET 的旧版packages.configNuGet 系统下,我可以allowedVersions通过使用Package 元素上的属性来限制在更新包时考虑的包的可能版本

update-packageVisual Studio 中为包括上述内容的项目运行时,不会发生更新,Newtonsoft.Json因为我已使用该allowedVersions属性固定到 10.0.3。

我怎样才能在 下实现这一点PackageReference?将semver语法应用于 Version 属性只会影响恢复的版本- 它不会限制更新。因此,如果我指定以下内容PackageReference并运行update-package,例如,如果 11.0.1 在我的 NuGet 存储库中,我将升级到 11.0.1。

背景

我们依靠命令行工具来更新包,因为我们既有快速移动的内部包(一天更新多次)和更稳定的低移动包(例如:ASP.NET)。在大型代码库中,手动更新.csproj文件中的每个依赖项对我们来说根本无法扩展(并且容易出错)。在packages.config下面,我们可以“固定”我们不想升级的第三方包,也可以更新到最新的快速移动依赖项。

0 投票
1 回答
1251 浏览

nuget - Nuget 包版本控制/更新策略

也许有人对以下场景有一个好主意:

我有预发布的开发包,比如:packagename.1.2.0.1000-dev.nupkg 和发布包,比如 packagename.1.2.0.1.nupkg

我的想法是:如果开发人员在 nuget 更新步骤中启用了 Pre-Release 选项,那么从开发包的更高数量范围开始将始终允许为开发人员获取开发包。这工作正常。然后稍后我想将项目更新到最新版本。但是似乎没有选项可以更新到版本号低于 dev/pre-release 包的最新版本?此外 -Safe 选项似乎在这里不起作用。

我也无法使内部版本号保持同步,因为它们是不同的版本。如果我有相反的方式,那么发布版本的版本号更高,如果我进行正常的 nuget 更新,它永远不会更新到最新的开发包,即使包括预发布包......

这里有什么想法吗?

非常感谢!

0 投票
1 回答
32 浏览

nuget - 选择nuget包会导致依赖dll地狱吗?

使用 nuget 包会导致依赖 dll 地狱吗?

示例我在我的类库中使用两个 nuget 包 A 版本 1.0.0 和 B

B 还严重依赖于 A 2.0.0 的非向后兼容版本的新功能。

在这种情况下,我不会得到构建错误吗?如果是这样的话,nuget不可怕吗?