我的团队有一个内部Nuget包源,其形式为同步到NAS的本地文件夹。这些文件在文件名中有配置(发布/调试)和平台(总是“AnyCPU”),例如:
MyPackage.1.0.6017.25342.Release.AnyCPU.nupkg
这在VS 2015中运行良好,但在VS 2017中,包管理器找不到包,除非我们删除“Release.AnyCPU”部分。
有谁知道为什么?这可以解决吗?
答案 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,您将在下面提示:
要解决此问题,您只需要通过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及更高版本中的更多限制。
希望这可以帮到你。