web-dev-qa-db-fra.com

Erreur de validation GitHub: autorisation refusée fatale: impossible de traiter le chemin ~/App_Data/aspnet-MyProject.mdf

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. 

6
user8930129

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
10
DavidG

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.

3
andrecj

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 

  1. Faites un clic droit sur la base de données locale ou la base de données à laquelle le fichier est associé et 

  2. 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.

1
Jabez