Partager via


Résoudre les problèmes de génération de projet SQL

La sortie de build du projet SQL fournit des commentaires sur la construction du modèle de base de données et la validation T-SQL. La sortie de ligne de commande par défaut affiche uniquement les erreurs et certaines informations d’état. Dans cet article, nous expliquons comment activer une journalisation plus détaillée pour vous aider à résoudre les problèmes de génération et les erreurs courantes rencontrées avec des projets SQL.

Activez la journalisation commentée

Pour approfondir l'analyse des problèmes de compilation des projets SQL, vous pouvez utiliser des commutateurs de ligne de commande pour générer plus de journaux. La journalisation supplémentaire peut aider non seulement à identifier la cause des erreurs, mais aussi à identifier les dégradations de la vitesse de génération. Les deux options principales sont les suivantes :

  • Journal binaire : cette option génère un fichier journal binaire (msbuild.binlog) qui peut être consulté à l’aide du Visionneur de journal MSBuild. Cet outil de visualisation est utile pour diagnostiquer les problèmes de dépendance et optimiser le processus de compilation. La commande permettant de générer ce journal est la suivante :

    dotnet build -bl
    
  • Outils de journalisation de fichiers : cette option génère un fichier journal texte qui contient la journalisation la plus détaillée à partir du build. La commande permettant de générer ce journal est la suivante :

    dotnet build -flp:v=diag
    

En résumé, la commande combinée pour générer les deux journaux est la suivante :

dotnet build -bl -flp:v=diag

Vous trouverez l’ensemble complet des commutateurs dans la référence Command-Line MSBuild.

Problèmes courants

Erreurs de compilation

Lorsque l’erreur de génération indique une syntaxe non valide, la sortie spécifie également le fichier qui contient le code erroné. Si vous utilisez la syntaxe récemment ajoutée, vous devrez peut-être mettre à jour votre version du Kit de développement logiciel (SDK) de projet.

Les erreurs de build à partir d’un projet de base de données doivent avoir le code d'erreur SQLxxxxx, où xxxxx est un nombre à cinq chiffres. Voici quelques problèmes qui provoquent l’erreur d’une référence non résolue (SQL71501/SQL71502) :

Autres erreurs

Pour une erreur qui se produit lors de la restauration, commencez par exécuter une build propre après la suppression des dossiers /bin et /obj dans le projet.

Si l’erreur inclut SDK 'Microsoft.Build.Sql' specified could not be found​, commencez par vérifier que les flux de package NuGet sont valides. La commande de base pour afficher les flux actuels est la suivante :

dotnet nuget list source​

Le flux NuGet public est le suivant :

dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org​

Si votre environnement nécessite des flux privés, vérifiez qu’ils sont valides et accessibles. Vous devrez peut-être vous authentifier auprès des flux de package. L’activation de l’authentification pendant la génération du projet peut être effectuée avec :

dotnet build --interactive

Pour MSBuild, la commande équivalente est la suivante :

msbuild /p:nugetInteractive=true​

Pour d’autres codes d’erreur non-SQL, reportez-vous aux ressources suivantes :