使用文件名

时间:2017-03-20 16:00:39

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

我的团队有一个内部Nuget包源,其形式为同步到NAS的本地文件夹。这些文件在文件名中有配置(发布/调试)和平台(总是“AnyCPU”),例如:

MyPackage.1.0.6017.25342.Release.AnyCPU.nupkg

这在VS 2015中运行良好,但在VS 2017中,包管理器找不到包,除非我们删除“Release.AnyCPU”部分。

有谁知道为什么?这可以解决吗?

1 个答案:

答案 0 :(得分:0)

nuget包的名称由包ID和包装时的版本组成。例如,Easyfy.Commerce.Model.1.0.x.x.nupkg。如果您在名称中指定配置信息,则包的名称更改为Easyfy.Commerce.Model.1.0.x.x.Release.AnyCPU.nupkg,但包ID未更改,直到Easyfy.Commerce.Model。在这种情况下,包名称与包ID和版本不匹配,则包的版本无法在包管理器中列出。

作为测试,您可以使用NuGet Package Explorer打开一个包,然后更改包ID,您将在下面提示:

enter image description here

要解决此问题,您只需要通过NuGet Package Explorer将您的包ID更改为“Easyfy.Commerce.Model.Release.AnyCPU”,并将包名更改为“Easyfy.Commerce.Model.Release.AnyCPU.1.0.6017.25342”。 / p>

此外,在Visual Studio 2015上发生此问题的原因是在Visual Studio 2017中没有出现在nuget 3.5及更高版本中的更多限制。

希望这可以帮到你。