无法安装本地NuGet包

时间:2018-03-13 22:05:23

标签: visual-studio-2017 nuget nuget-package

详细

  • 使用Visual Studio 2017
  • 使用NuGet Package Explorer构建NuGet包
  • 将.nupkg文件放在磁盘上的本地文件夹中
  • 在Visual Studio
  • 中添加了包源的文件夹
  • 我尝试使用Visual Studio GUI安装软件包(工具> NuGet软件包管理器>管理解决方案的NuGet软件包...)。

问题

我的软件包显示在GUI的列表中,但是当我单击安装时,会显示一条错误消息,指出它无法在我将.nupkg文件放入的文件夹中找到该软件包:

Package 'TDDeviceIntegration 1.0.0' is not found in the following primary source(s): 'C:\Users\j.smith\Documents\Visual Studio 2017\LocalNugetRepository\'. Please verify all your online package sources are available (OR) package id, version are specified correctly.   

我尝试了什么

  • 放入NuGet包我已经在几个不同的本地文件夹位置构建并将它们添加到Package Sources,所有这些都具有相同的结果(它找不到我必须放在那里的包)。
  • 我已多次重启Visual Studio。
  • 我重新启动了电脑。
  • 我已从Visual Studio
  • 中清除了我的NuGet缓存

问题

我该如何诊断?我该如何解决?我只是想确保NuGet包在我提供给团队其他成员之前在本地工作。

提前致谢!

2 个答案:

答案 0 :(得分:4)

  

我该如何诊断?我该如何解决?我只是想确保NuGet包在我提供给团队其他成员之前在本地工作。

就像@ orhtej2评论一样,你应该:

  

您将其重命名为TDDeviceIntegration.1.0.0.nupkg吗? (点而不是   包名和版本之间的空格。)

另外,有关为什么dot实际上是唯一允许的包名称 - 版本分隔符的一些信息。

因为nuget包的命名空间遵循类似于.NET中命名空间的模式,使用点符号而不是连字符。

您可以从以下文档中获取源代码:

Choosing a unique package identifier and setting the version number

enter image description here

希望这有帮助。

答案 1 :(得分:2)

根据this link from the NuGet GitHub Repository,当您的软件包版本未“标准化”时,您可能会遇到此错误,即它不是由4位数组成。 你的有三位数,所以......

(最后一位可能必须为0)。