Mise à jour : project.json
a été remplacé par .csproj
comme fichier de projet principal pour les projets .NET Standard. Cette question fait référence à l'ancien système avant l'introduction de PackageReference dans NuGet 4.0 .
Vous pouvez encore voir occasionnellement project.lock.json
comme un artefact du processus de construction, mais il doit être ignoré. La gestion des paquets NuGet dont dépend votre projet .NET Standard/.NET Core doit toujours être effectuée par l'un des moyens suivants
- Modifier le
.csproj
fichier directement
- Utilisation de la CLI dotnet (
dotnet add package
etc)
- Utilisation de l'interface graphique du gestionnaire de paquets si vous utilisez Visual Studio
Ancienne réponse pour la postérité : project.lock.json
est généré par l'outil .NET lorsque vous restaurez les paquets du projet. Vous ne devez pas y toucher ni l'enregistrer dans le contrôle de la source. Modifier project.json
directement.
Pendant le processus de restauration du paquet ( dotnet restore
), NuGet doit analyser les dépendances de votre projet, marcher su les graphiques de dépendances, et déterminez quels paquets doivent être installés pour votre projet et les dépendances de votre projet.
Il s'agit d'une quantité de travail non triviale, c'est pourquoi les résultats sont mis en cache dans le fichier project.lock.json
pour rendre les restaurations ultérieures plus rapides et plus efficaces. Le fichier de verrouillage sera régénéré si project.json
est modifié et dotnet restore
est exécuté à nouveau.
2 votes
Pourquoi ce sujet a-t-il été rejeté ? Je crois que NuGet est nécessaire pour les applications .net core. Sinon, vous pouvez cloner les paquets localement et fournir votre propre flux.
0 votes
En général, on ne touche pas au fichier de verrouillage. Vous modifiez le project.json lui-même, et le fichier de verrouillage se met à jour lorsque vous exécutez les outils.
2 votes
Votre question n°2 est bonne et mérite, à mon avis, une question spécifique.
0 votes
Voir aussi : Docs NuGet : Référence Project.json