Ich verwende Visual Studio 2005. Nachdem Sie zuerst den Code aus der Versionskontrolle übernommen haben, wird die Anwendung c # .net ordnungsgemäß ausgeführt. Nach einigen Änderungen wird beim Erstellen jedoch der folgende Fehler angezeigt:
Fehler 383 Datei ".. \ root \ leaf \ Bin \ Debug \ test.Resources.xml" kann nicht nach "Bin \ Debug \ test.Resources.xml" kopiert werden. Der Zugriff auf den Pfad 'Bin \ Debug \ test.Resources.xml' wird verweigert. li.rollmodel
Weiß jemand, warum dieses Problem auftritt?
Bearbeiten Ich kann sehen, dass mein gesamter Projektquellcodeordner schreibgeschützt ist und ich die schreibgeschützte Eigenschaft nicht entfernen kann.
Kann mir zunächst jemand sagen, wie die schreibgeschützte Eigenschaft für diesen Ordner entfernt werden soll? Ich habe versucht, es zu entfernen, aber die schreibgeschützte Eigenschaft bleibt bestehen. Ich habe es auch von der Seite der Versionskontrolle aus versucht und das hat auch nicht funktioniert.
quelle
Antworten:
Ich habe dieses Problem gelöst, indem ich die umstrittenen Dateien aus dem Ordner bin gelöscht und das Projekt neu erstellt habe.
quelle
Stellen Sie einfach sicher, dass der Ordner NICHT schreibgeschützt ist, und erstellen Sie die Lösung neu
quelle
Ich habe dieses Problem gelöst: Schließen Sie Visual Studio, öffnen Sie es erneut und laden Sie die Lösung. Erstellen Sie Ihre Lösung neu. Mein Problem trat bei Verwendung von TFS und VIsual Studio 2010 auf.
quelle
Prozess
VBCSCompiler.exe
beenden und neu erstellen.quelle
Ich bin auch auf dieses Problem eingegangen.
Überprüfen Sie zunächst, ob Sie Ihren Ordner bin und obj dem Quellcodeverwaltungsprogramm zugeordnet haben.
Dies kann dazu führen, dass Ihre Dateien aus Binärordnern in schreibgeschützte Archive umgewandelt werden, die es Visual Studio unmöglich machen, sie beim Kompilieren des Codes zu überschreiben.
Entfernen Sie die Zuordnung aus diesen Ordnern, überprüfen Sie die Änderungen und versuchen Sie es erneut.
Mein Problem trat bei Verwendung von TFS (Team Foundation Server) und Visual Studio 2010 auf.
Hoffe das hilft jemandem.
quelle
Führen Sie Ihr Visual Studio als Administrator aus
quelle
Ich verwende Visual Studio 2013. Dieses Problem trat zweimal auf:
Beim ersten Mal habe ich Visual Studio ohne Administratorrechte ausgeführt. Also habe ich VS geschlossen und es mit der Option " Als Administrator ausführen" gestartet . Dies löste mein Problem.
Beim zweiten Mal habe ich VS viele Male neu gestartet, um sicherzustellen, dass ich es als Administrator ausführe. Außerdem habe ich die Lösung viele Male neu erstellt. Trotzdem bekam ich Fehler. Danach habe ich die betroffene Datei vom Zielspeicherort entfernt (die Datei war möglicherweise bereits vorhanden und stammt möglicherweise aus dem vorherigen Build an dem Speicherort, an den sie kopiert werden soll) und die Lösung neu erstellt . Danach verschwand der Fehler und alles lief reibungslos!
quelle
In meinem Fall war es das Antivirus, das die Datei blockierte.
quelle
Dies hat in Visual Studio 2017 den Kopf wieder aufgerichtet. In diesem Fall ist die Ursache der Application Insights-Prozess ServiceHub.DataWarehouseHost.exe.
In der Thread- Warnung MSB3026 wird eine Problemumgehung erläutert: "obj \ Debug \ netcoreapp1.1 \ src.pdb" konnte nicht nach "bin \ Debug \ netcoreapp1.1 \ src.pdb" kopiert werden , um einen Pre-Build hinzuzufügen Ereignis für das Projekt, um den Prozess jedes Mal abzubrechen, wenn das Projekt erstellt wird. Zitat aus diesem Link:
quelle
Wenn Sie sich Ihre Antwort ansehen, dass Sie Ihr Problem durch manuelles Kopieren gelöst haben, würde ich sagen, dass der Code, an dem Sie gearbeitet haben, von einem anderen Benutzer (auch mit Administratorrechten) erstellt wurde, sodass er für Sie gesperrt war. Durch Kopieren -? Einfügen, Sie haben Ihre EIGENE Kopie der Quelle mit allen erforderlichen Zugriff erstellt. Das Einzige, was Sie bemerken müssen, ist, dass in diesem Fall, wenn dieser andere Entwickler an Ihrer Kopie arbeiten muss, er / sie in das gleiche Problem gerät, das Sie zuvor hatten.
quelle
Gehen Sie zuerst zum Speicherort der Datei. Klicken Sie dann mit der rechten Maustaste auf den Ordner der Datei -> Eigenschaften -> Deaktivierte schreibgeschützte Option und wenden Sie sie auf Dateien und deren Unterordner an. Es hat mein Problem gelöst. Viel Spaß beim Codieren!
quelle
Ich habe alle meine Nicht-.NET-Abhängigkeiten / Referenzen erneut hinzugefügt und es hat den Trick gemacht.
quelle
Ich habe dieses Problem selbst gelöst. Das Problem war, dass ich die Lösung an einem anderen Ort geöffnet hatte. Nach dem Schließen funktioniert es
quelle
Hatte das gleiche Problem, aber jedes Mal einen Neustart von Visual Studio war für mich keine Option , da das Problem manchmal sehr oft auftritt.
Ich habe es durch die Installation von Unlocker erledigt ( versucht, eine Symbolleiste bei der Installation zu installieren, vergessen Sie also nicht, dies zu deaktivieren ). Diese Anwendung ermöglicht mir einen schnellen Zugriff zum Umbenennen / Löschen einer gesperrten ".xml" -Datei . Ich weiß, dass dies auch nur eine Problemumgehung ist, aber für mich war es die schnellste Lösung, um dieses Problem zu lösen.
quelle
Alter Beitrag, aber dieser Zombie trifft VS 2017 (ich habe nicht untersucht, warum es nur "einige" Projekte sind). In diesem Fall handelt es sich nicht um Benutzerberechtigungen , sondern der IIS Express-Prozess verwendet die Dateien weiterhin.
Sie sehen das Symbol in Ihrer Taskleiste
rebuild
ohne diese nervige Meldung "Erlaubnis verweigert".Aus diesem Grund wird das Problem durch "Neustarten von Visual Studio" "behoben". Dadurch wird IIS Express gestoppt.
Hth ...
quelle
Ich habe dieses Problem erstellt, als ich der Lösung ein neues Setup-Projekt hinzugefügt und dann Dateien direkt aus dem Ordner / bin / release des Hauptanwendungsprojekts zum Ordner mit den Anwendungsdateien des Setup-Projekts hinzugefügt habe. Die Quellcodeverwaltung des Setup-Projekts hat mich durchweg daran gehindert, einen Build des Hauptanwendungsprojekts abzuschließen.
Lösung: Erstellen Sie einen separaten Speicherauszugsordner außerhalb eines der Projekte, der alle Dateien enthält, die in die Installation aufgenommen werden sollen, und fügen Sie sie von dort aus hinzu. Es ist ein Schmerz, weil ich jetzt daran denken muss, alle Dateien für jedes neue Installationspaket zu kopieren. Ich werde vielleicht sehen, ob ich mit Post-Build-Aktionen etwas tun kann, um den Prozess reibungsloser zu gestalten.
quelle
Wenn Sie Dateien in eine Lösung kopieren, stellen Sie sicher, dass sich die Dateien nicht im schreibgeschützten Modus befinden. Klicken Sie mit der rechten Maustaste auf die Datei und deaktivieren Sie die Attributoption, um mein Problem zu lösen.
quelle
Ich hatte den gleichen Fehler, verwende jedoch die Perforce- Versionskontrolle. Hier ist, wie ich es behoben habe.
quelle
Ich hatte auch das gleiche Problem. Ich habe Fehlermeldungen erhalten, die sich nicht auf kopieren lassen, da der Zugriff auf den Pfad verweigert wurde. In meinem Fall befinden sich alle meine DLLs und XML-Dateien usw. im Ordner D: \ TFS \ Example \ Bin \ Debug.
Ich habe mit der rechten Maustaste auf den Ordner Bin geklickt und auf Eigenschaften geklickt und festgestellt, dass das Kontrollkästchen Schreibgeschützt unter Attribute aktiviert ist.
Ich habe das Kontrollkästchen Schreibgeschützt deaktiviert und auf Übernehmen geklickt und im angezeigten neuen Popup auf OK geklickt.
Ich ging zurück zu Visual Studio und erstellte meine Lösung, die mir Fehlermeldungen gab.
Voilaa .. Dieses Mal wurde es ohne Fehler erfolgreich erstellt.
Ich weiß nicht, ob dies perfekt ist, aber ich habe dies getan, um mein Problem zu lösen.
quelle
Überprüfen Sie den Task-Manager und stellen Sie sicher, dass kein Prozess devenv.exe hängt. Beenden Sie den außer Kontrolle geratenen Prozess und versuchen Sie es erneut.
quelle
Gehen Sie zum Dateipfad und deaktivieren Sie das Kontrollkästchen "Nur Lesen" dieser Datei.
quelle
Ich weiß, dass es ein alter Thread ist, aber für diejenigen, die nach Antworten suchen, wie ich vor ein paar Minuten, empfehle ich, zuerst zu versuchen, Ihren Computer neu zu starten. Das allein hat für mich behoben. Vorher konnte nicht einmal manuell in den Ordner kopiert werden.
quelle
Klicken Sie einfach mit der rechten Maustaste auf Ihr MVC-Projekt und klicken Sie auf die Option "Bereinigen". Ich hatte ein ähnliches Problem und das Bereinigen des Projekts vor dem Wiederaufbau löste es für mich.
quelle
Ich hatte auch das gleiche Problem. Ich habe es behoben, indem ich die schreibgeschützten Eigenschaften des Stammordners deaktiviert habe.
quelle
Ich hatte auch dieses Problem. Hier ist, wie dies gelöst wird
bin
von Projektordnern.Dieser Prozess funktioniert bei mir.
quelle
Das Ändern des Ausgabepfads hat in Visual Studio 2015 für mich funktioniert. Dies sollte helfen - Ändern des Build Output-Verzeichnisses
quelle
Ich konnte das Problem beheben, indem ich die beanstandete Zieldatei (in Ihrem Beispiel "Bin \ Debug \ test.Resources.xml") aus dem Ordner bin der Zielwebsite entfernte und neu erstellte. Dadurch wurde das Problem für mich behoben.
quelle
1) Schließen Sie die Visual Studio-Lösung
2) Navigieren Sie zur Eingabeaufforderung -> Als Administrator ausführen -> iisreset / stop
3) Navigieren Sie zu c -> Windows -> Microsoft.Net -> Framework64 -> v4.030319 -> Temporäre Asp.NET-Dateien -> Löschen Sie alle Dateien und Ordner in diesem Pfad.
4) Navigieren Sie zurück zur Eingabeaufforderung -> iisreset / start
5) Öffnen Sie nun das Visual Studio -> führen Sie es als Administrator aus -> bereinigen Sie die Lösung und erstellen Sie sie (nicht neu erstellen ... nur das Erstellen hat bei mir funktioniert)
quelle
Sie sollten das Ordnerattribut nicht in nicht schreibgeschützt ändern. Der Grund, warum diese Fehlermeldung angezeigt wird, ist, dass die Quellcodeverwaltung davon ausgeht, dass Sie Ihre verschiedenen Dateien nur an einem anderen Ort als dem Ordner bin speichern. Sie ist für Dateien reserviert, die automatisch von .Net erstellt werden, und sie möchten sie nicht zur Quelle hinzufügen Steuerung.
Ich schlage vor, anstelle von
Environment.CurrectDirectory
(von dem ich annehme, dass Sie es derzeit verwenden) einen Ordner mit dem Namen "MyProjectName" in% appdata% address zu erstellen und dann Folgendes zu verwenden:System.IO.Path.Combine(Environment.GetEnvironmentVariable("appdata"),"YourProjectName")
.quelle
Ich bin also auf dasselbe Problem gestoßen, das meine Ursache war. Ich hatte meinen Entwicklungsordner freigegeben, damit ich einen Mac als Build-Host für eine IOS-Anwendung mit Xamarin verwenden konnte. Das Projekt lief auf einem Mac, der den Besitz der DLL übernahm, daher konnte ich von nirgendwo anders Änderungen an dieser DLL vornehmen. Durch einfaches Stoppen der Anwendung auf dem Mac wurde mir das Eigentum zurückgegeben, wodurch der vollständige Zugriff wieder möglich wurde. Ich hoffe das macht da.
quelle