如何为Visual Studio项目禁用“传递性包管理”

问题描述 投票:0回答:1

如何禁用“传递式包管理”?

我希望这样做,以便可以在本地安装“打包”并包含在.nupkg文件中的软件包。当我尝试这样做时,我收到一条消息,指出'Source'参数对于基于传递程序包管理的项目{csproj文件}不适用。 NuGet配置中启用的源将被使用。

完整上下文

[当开发尚未准备好通过我们的NuGet feed分发的NuGet程序包时,我经常从程序包管理器控制台中创建一个本地的.nupkg文件,如下所示:

裸包{csproj文件的路径}

这将生成一个{project-name} .nupkg文件,然后可以通过在Visual Studio中打开它,导航到程序包管理器控制台并输入命令,将该文件安装到另一个项目中。>

Install-Package {path-to-nupkg-file}

这很好用,一旦NuGet软件包准备好分发,我们将其推送到Azure DevOps,并让那里的构建管道将其推送到我们的feed中。

但是,我最近继承了一个项目,以前的开发人员显然在其中设置了“传递式包管理”,以防止此工作流程。这是当我尝试直接从.nupkg文件安装时得到的内容:

Install-Package C:\Users\Josh\source\repos\SpeakerDiscountManager\SpeakerDiscountData.1.0.5.nupkg
The 'Source' parameter is not respected for the transitive package management based project(s) MembershipApplicationWidget\MembershipApplicationWidget.csproj. The enabled sources in your NuGet configuration will be used. 
<snipped several lines of unsuccessfully searching configured package sources>
Install-Package : NU1102: Unable to find package SpeakerDiscountData with version (>= 1.0.5)

很明显,它找不到我通过文件指定的软件包,因为它正在搜索在线提要,并且在我们的任何在线软件包源中都不存在-该软件包处于测试状态,尚未准备就绪除了我以外,任何人都可以使用。

基于错误消息,我需要关闭“传递式程序包管理”,以便可以为该程序包指定文件源,但是我一直无法在线提供有关此配置方式的任何信息。

我确实尝试使用相同的Install-Package {path-to-nupkg-file}过程在另一个项目中安装这个完全相同的.nupkg文件。这有效。

如何禁用“传递式包裹管理”?我希望这样做,以便可以安装在本地“打包”并包含在.nupkg文件中的软件包。当我尝试这样做时,我收到一条消息...

visual-studio nuget visual-studio-2019 nuget-package
1个回答
0
投票

如何为Visual Studio禁用“传递式包管理”项目

© www.soinside.com 2019 - 2024. All rights reserved.