gpt4 book ai didi

visual-studio - 在 Visual Studio 中更新解决方案级别的 nuget 包

转载 作者:行者123 更新时间:2023-12-02 23:27:52 25 4
gpt4 key购买 nike

我试图弄清楚a)我是否以正确的方式解决这个问题以及b)如何更新解决方案级别的nuget包。

核心问题是,当在解决方案级别(而不是在任何特定项目中)安装包并且您尝试更新它时,它不会删除旧引用。它只是添加了一个新的包引用,并导入了两个版本。这通常意味着(与 powershell 模块的工作方式有关)早期的 powershell 模块会覆盖较新的模块。

所以我要做的是卸载软件包并重新安装它,它会获取较新的版本。似乎效率低下。

此外,我似乎无法从控制台安装或卸载解决方案级别的包。我必须使用我讨厌使用的 Manage Nuget Packages 实用程序来完成。

以下是我正在做的一些背景,如果有帮助的话:

我在我们公司建立了一个系统,使用解决方案级别的 nuget 包向解决方案添加自定义 powershell 脚本模块,以及我编写的一些更通用的脚本解决方案(如删除 TFS 工作项或更改项目名称文件系统以及代码内)。

因此,一个项目可能有 DataServiceUtilities 包,而另一个项目可能有 FrontEndUtilities 包。

那么,如何在不添加两个引用的情况下更新这些包?解决方案级别的操作是否可以在始终默认以项目为目标的包管理器控制台中完成?

最佳答案

似乎其中一些来自包管理器 GUI 工具中的错误,以及一般的 Nuget

包管理器 GUI 工具无法正确处理解决方案级别包的更新。但是,如果您从包管理器控制台运行 Update-Package,它将正确卸载/重新安装解决方案级包。

至于从命令行安装,如果一个包只有一个工具文件夹并且没有依赖项,您可以从命令行运行安装,它仍然安装在解决方案中并忽略默认项目。

但是,截至目前(Nuget 2.8)Nuget 中存在一个错误,导致它将依赖于其他解决方案级包的解决方案级包视为项目级包。它显然已经存在了大约一年,他们声称它将在 VS 2015 中修复。您可以在此处查看错误:https://nuget.codeplex.com/workitem/3642

这意味着您目前无法创建具有任何依赖项的解决方案级包。请注意,根据文档,这是合法的。希望明年能修好。

*更新

只是快速更新。似乎在 VS 2015 中,他们已弃用(或更准确地说,已删除)仅解决方案级别/工具包。在一些强烈抗议之后,他们还决定在 future 的版本中重新实现它们,但他们这样做可能还需要一段时间。

可以在此处找到重新实现该功能的进展:https://github.com/NuGet/Home/issues/1521

可以在此处找到有关如何解决缺失功能的讨论:https://github.com/NuGet/Home/issues/522

关于visual-studio - 在 Visual Studio 中更新解决方案级别的 nuget 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28385454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com