web-dev-qa-db-fra.com

Nuget: à quoi sert la balise requireReinstallation dans packages.config

J'ai mis à niveau mon projet C # (qui avait déjà des paquets de pépites) de 4.0 à 4.5.2. J'ai vu que certains paquets contiennent maintenant une balise supplémentaire requireReinstallation.

a) Quel est le but de cela?

b) Pourquoi certains paquets ont-ils alors que d'autres non.

Avant

<package id="NLog" version="3.1.0.0" targetFramework="net40" />

Après

<package id="NLog" version="3.1.0.0" targetFramework="net40" requireReinstallation="true" />
36
Nikhil Agrawal

À partir de notes de version

Si nous détectons que l'un de vos packages a été affecté par le reciblage ou la mise à niveau, nous produirons des erreurs de construction immédiates pour vous en informer. En plus de l'erreur de génération immédiate, nous persistons également un indicateur requireReinstallation = "true" dans votre fichier packages.config pour tous les packages qui ont été affectés par le reciblage, et chaque génération suivante dans Visual Studio lèvera des avertissements de génération pour ces packages.

Essentiellement, NuGeT marque automatiquement les packages en conflit avec la cible ou la version de votre projet

39
Rob