En fait, il est parfois nécessaire de livrer le fichier project.lock.json dans git.
Vérifier le json de votre projet
Pour les mêmes raisons, il vous indique les dépendances que vous avez utilisées. Dites-le :
- Moi, en tant que développeur, je travaille sur une application, je déteste chaque fois mettre à jour les paquets, alors j'ajoute une dépendance de paquet à nuget paquet X = 1.*
- Je restaure le paquet et j'obtiens la version 1.2.4
- Le créateur du paquet a juste fait une erreur très stupide, il a cassé quelque chose alors qu'il essayait juste de faire une correction et de sortir la 1.2.5.
- La deuxième personne se retire (ou, pire encore, la construction de la libération se met en marche).
- La personne 2 restaure et obtient la version 1.2.5.
- La personne 2 exécute votre application et constate qu'elle est défectueuse.
- La personne 2 commence à déboguer et pense qu'il doit y avoir un bogue dans le logiciel.
À cette étape, 7 Person 2 aurait pu voir dans git que son fichier lock a été modifié et qu'une version plus récente d'une bibliothèque a été téléchargée, qui n'a été testée par aucun des autres développeurs !
Inconvénients
L'inconvénient de vérifier ce fichier est que vous risquez d'obtenir de nombreux conflits de fusion lors des mises à jour continues des paquets.
Solution alternative
N'utiliser que des dépendances de versions dures (c'est assez difficile pour nuget). Et ne mettre à jour manuellement vers une version plus récente que de temps en temps.
Inconvénients
- Cela ne fonctionne pas si vous construisez une bibliothèque pour que d'autres personnes puissent l'utiliser, puisque vous les épinglez à une certaine version de vos dépendances.
- Les dépendances des dépendances sont toujours résolues automatiquement, donc si vous ne les spécifiez pas vous-même, vous ne pouvez pas garantir qu'il y a une version sur
dotnet restore
Conclusion
Si vous voulez éviter les citations du type "fonctionne sur ma machine" et l'enfer de la mise à jour manuelle constante vers une version plus récente : Vérifier le fichier project.lock.json.
Et aussi construire un CI/Release build check pour tester si ce fichier n'a pas été modifié par rapport à git, avant de le publier (si votre logiciel est très critique) !
Si ce n'est pas un problème et que la mise à jour automatique (vers un paquet potentiellement cassé) n'est pas non plus un gros problème, vous ne voudrez peut-être pas livrer votre project.lock.json.
0 votes
Voir aussi blog.brunomlopes.com/2015/07/
0 votes
Les fichiers qu'il est recommandé d'ignorer pour .Net Core se trouvent dans VisualStudio .gitignore