【问题标题】:Nuget install-package and network sharesNuget 安装包和网络共享
【发布时间】:2014-01-17 23:41:02
【问题描述】:

我们有一个用于共享内部组件的私有 nuget 存储库。目前,我们只是使用网络共享。

我遇到了一些问题: 如果我使用包管理器对话框,一切正常——我可以搜索我的包,安装它们,然后构建。

但是,如果我使用包管理器控制台命令:install-package My.Package(其中 My.Package 是 nuspec 文件的 标记中的确切字符串,我会收到一个错误,表明 nuget 找不到包。

如果我在 install-package: install-package My.Package.1.0.0 中包含版本号,那么它可以从控制台运行。

但是,我们的构建服务器无法下载我们的包,并出现与我从 install-package 得到的相同错误。 (我们的构建服务器使用包还原)

我已将我的 nuspec 文件与一些可用的公开可用软件包进行了比较。我能找到的唯一区别是我们的 nuget 包位于网络共享上,而公共包位于 Web 服务器上。

如果您使用网络共享,会有行为差异吗?

【问题讨论】:

  • 每当我使用本地 nuget 时,它在命令行和包资源管理器中都可以正常工作,请尝试从包管理器控制台运行它,并确保它正确列出了您的存储库:.\.nuget\NuGet.exe sources list

标签: c# msbuild nuget


【解决方案1】:

我发现了问题所在——主要是用户错误。

我浏览了我的 nuget 配置,发现了这个:

<activePackageSource>
  <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
</activePackageSource>

该设置告诉 nuget 仅搜索 nuget.org,而不是我们的私人订阅源。不得不改成这样:

<activePackageSource>
  <add key="All" value="(Aggregate source)" />
</activePackageSource>

如果您包含版本号,我仍然不确定为什么它之前(有时)可以工作(也许它与包是否已经在本地缓存有关??似乎它根本不应该工作,直到我做了这个改变。不过这修复了它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多