it-swarm.com.de

GitHub-Commit-Fehler: Berechtigung verweigert: Der Pfad ~/App_Data/aspnet-MyProject.mdf kann nicht verarbeitet werden

Ich versuche, ein Update für mein ASP.Net MVC-Projekt mithilfe der GitHub-Integration in Microsoft Visual Studio 2017 festzulegen. 

Ich arbeite an Code-First-Migrationen. Nach meinem vorherigen erfolgreichen Commit habe ich die folgenden Befehle in der Package Manager Console in Visual Studio ausgeführt: 

PM> Enable-Migrations -ContextType ApplicationDbContext
PM> Add-Migration AccountNumberChanges
PM> Update-Database -Verbose

Nachdem dies geschehen war, habe ich versucht, ein Commit auszuführen, es wurde jedoch der folgende Fehler angezeigt: 

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

Die obigen Befehle haben die MDF-Datei zum Ordner App_Data des Projekts hinzugefügt. 

6
user8930129

Sie sollten keine mdf-Dateien für git festlegen - es handelt sich um Datendateien für Ihre Datenbank. git beschwert sich wahrscheinlich, da die Datei verwendet wird und Lesezugriff erforderlich ist, um die Daten an das Repository senden zu können. Die einfachste Lösung ist, es mit git rm aus git zu entfernen. Zum Beispiel in der Befehlszeile:

git rm MyProject/App_Data/aspnet- MyProject-20171110110346.mdf
10
DavidG

Wenn Sie dennoch Ihre mdf-Dateien zu git hinzufügen möchten. Ich hatte auch einige Probleme damit, was ich herausfand, ist:

Wenn Sie Server Explorer von Visual Studio aus verwenden, klicken Sie mit der rechten Maustaste rechts auf Ihren Verbindungsnamen im Server-Explorer-Fenster und klicken Sie auf Verbindung schließen.

3
andrecj

Vielleicht wird dies in der Zukunft jemandem helfen. Das Problem ist, dass Sie die Datei im Server-Explorer immer noch mit Ihrer lokalen Datenbank verbunden haben und dass die Datei Handles verwendet, die das Festschreiben blockieren. 

Was ich eigentlich tat, war 

  1. Klicken Sie mit der rechten Maustaste auf die lokale Datenbank oder auf die Datenbank, der die Datei zugeordnet ist, und 

  2. wählen Sie die Option Trennen aus, damit alle Handles aus den MDF- oder LDF-Dateien freigegeben werden können.

PS: Sie können die Datenbank jederzeit anfügen, es sei denn, Sie möchten den Commit-Zeitrahmen verwenden.

Sobald die Datenbank getrennt ist, funktioniert das Festschreiben problemlos. Probieren Sie es aus und es funktioniert meistens.

1
Jabez