2017-03-23 2 views
0

J'ai un projet C# avec les références NuGet suivantes:NuGet tenter de restaurer une mauvaise version

<packages> 
    <package id="Pidac.HealthCare.Appointment.Model" version="1.0.0.0" targetFramework="net40" /> 
</packages> 

Nous avons notre configuration de processus de construction en bambou, qui tente de restaurer les paquets NuGet comme une étape préliminaire. Le projet se construit bien sur ma machine, en restaurant le bon paquet NuGet et tout.

La construction échoue actuellement depuis que Bamboo a décidé d'essayer de restaurer la version 1.0.0 de Pidac.HealthCare.Appointment.Model, au lieu de passer par ce qu'il contient dans packages.config.

Comment cela se produirait-il et quelle est la solution à ce problème?

+0

Utilisation de NuGet? Utilisez SemVer. S'il s'agit d'un NuGet que vous produisez vous-même, passez à SemVer sinon demandez à l'auteur de passer à l'utiliser. – Cheesebaron

Répondre

1

On dirait que vous voyez a breaking change in NuGet 3.4

A zéro dans la quatrième partie du numéro de version sera omise

1.0.0.0 is treated as 1.0.0 
1.0.01.0 is treated as 1.0.1 

Il est difficile de savoir exactement ce que suggérer ici, en partie car nous ne savons pas si c'est votre propre paquet, hébergé sur votre propre serveur, ou autre chose.

+0

C'est notre propre paquet hébergé sur nos propres serveurs. En espérant que je n'ai pas besoin de changer les fichiers nuspec ... –

+0

@KlausNji: Vous * pouvez * être en mesure de changer le serveur pour qu'il renvoie 1.0.0.0 lorsqu'on lui demande 1.0.0. Je pense que c'est l'intention, mais le document n'est pas tout à fait clair. –

+0

Jon, la version de NuGet sur les serveurs est 3.3.0.212. Est-ce que la mise à niveau vers 3.4 aiderait? Sinon, comment faire pour que ce côté serveur change? –