NuGet Pack - 无法从远程源检索信息

Ada*_*ene 4 nuget

我想跑:

nuget pack project.csproj
Run Code Online (Sandbox Code Playgroud)

但由于项目的目录结构:

A\B\C \项目

它一直在说:

NuGet.Protocol.Core.Types.FatalProtocolException:无法从远程源'A\B\Packages'检索信息,它确实应该是'A\Packages'.如何在建立依赖关系时更改NuGet查找包的位置.

我已经尝试在项目目录和解决方案(在.nuget中)中放置NuGet.config.我把它添加到文件中:

<config>
    <add key="repositoryPath" value="A\Packages" />
</config>
Run Code Online (Sandbox Code Playgroud)

在这两个地方都没有区别(它总是说A\B\Packages).

小智 33

VisualStudio 2019:工具 > Nuget 包管理器 > 包源:

选择 nuget.org 并特别取消选择其他选项

  • 如果我还需要该项目的其他来源的包怎么办? (15认同)

小智 6

在包源中添加NuGet.org 引用转到工具-> NuGet 包管理器-> 包管理器设置选择NuGet 包管理器然后包源添加以下源库。

名称:NuGet.org

来源:{"\Https://api.nuget.org/v3/index.json}


Kap*_*apé 5

错误有点奇怪,但这里已经提到了.

默认情况下,NuGet看起来需要一个与.csproj文件位于同一位置的packages文件夹.

我还有一个自定义项目结构,其中.sln位于另一个文件夹中.

至少我通过创建这样的符号链接来解决这个问题(使用管理员权限打开cmd):

cd <your .csproj location>
mklink /d packages "C:\path\to\actual\packages"
Run Code Online (Sandbox Code Playgroud)

这样NuGet认为packages文件夹存在并且应该能够创建您的包.


And*_*ici 5

对我来说,它通过在解决方案文件夹中添加 NuGet.config 来工作。