J'essaie de valider une mise à jour de mon projet ASP.Net MVC à l'aide de l'intégration GitHub dans Microsoft Visual Studio 2017.
Je travaille sur Migrations Code-First. Après ma validation précédente, j'ai exécuté les commandes suivantes sur la console Package Manager Console dans Visual Studio:
PM> Enable-Migrations -ContextType ApplicationDbContext
PM> Add-Migration AccountNumberChanges
PM> Update-Database -Verbose
Une fois que cela a été fait, j'ai essayé d'effectuer un commit, mais j'avais l'erreur suivante:
Git failed with a fatal error.
error: open("MyProject/App_Data/aspnet-MyProject-
20171110110346.mdf"): Permission denied
fatal: Unable to process path MyProject/App_Data/aspnet-
MyProject-20171110110346.mdf
Les commandes ci-dessus ont ajouté le fichier .mdf au dossier App_Data du projet.
Vous ne devriez pas commettre de fichiers mdf
dans git - ce sont des fichiers de données pour votre base de données. git
se plaint probablement parce que le fichier est en cours d'utilisation et qu'il a besoin d'un accès en lecture pour pouvoir envoyer les données au référentiel. La solution la plus simple consiste à le supprimer de git avec git rm
. Par exemple, en ligne de commande:
git rm MyProject/App_Data/aspnet- MyProject-20171110110346.mdf
Si vous voulez toujours ajouter vos fichiers mdf
à git. J'avais aussi quelques problèmes avec ça, alors ce que j'ai découvert, c'est:
Si vous utilisez Explorateur de serveurs à partir de Visual Studio, il vous suffit de cliquer avec le bouton droit de la souris sur le nom de votre connexion dans la fenêtre de l'Explorateur de serveurs et de cliquer sur Fermer la connexion.
Peut-être que cela aidera quelqu'un à l'avenir. Le problème est que le fichier est toujours connecté à votre base de données locale dans l'explorateur de serveurs et que le fichier contient des descripteurs d'utilisation bloquant l'exécution de la validation.
Ce que j'ai réellement fait était
Faites un clic droit sur la base de données locale ou la base de données à laquelle le fichier est associé et
choisissez l'option Détacher afin de pouvoir libérer les descripteurs des fichiers .mdf ou .ldf.
PS: vous pouvez attacher la base de données à tout moment, sauf pendant la période de validation.
Une fois la base de données détachée, la validation fonctionne sans problème. Essayez ceci et cela fonctionne la plupart du temps.