IIS 6.0 und ASP.NET - Konnte nicht in die Ausgabedatei schreiben ... Der Verzeichnisname ist ungültig

8

Ich führe IIS 6.0 unter Windows 2003 aus und beginne diesen Fehler zu bekommen:

Compiler Error Message: CS0016: Could not write to output file 'c:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root82c13f\ea9b3ff7\App_global.asax.zodyof_q.dll' -- 'The directory name is invalid. '

Ich habe alle Berechtigungen überprüft und alles ist so, wie es sein muss - und die Fehlermeldung erwähnt keine Berechtigungen. Ich habe schon folgendes versucht:

  • Den Anweisungen aus diesem [veralteten] KB-Artikel folgend: Ссылка
  • Reparieren der .NET Framework v3.5-Installation, dann Neustart
  • Löschen des Inhalts von c:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root , dann Ausführen von iisreset
  • Zurücksetzen der Berechtigungen für c:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root , dann Ausführen von iisreset
  • Zurücksetzen der Berechtigungen für c:\WINDOWS\TEMP , dann Ausführen von iisreset .

Irgendwelche Vorschläge?

Weitere Anmerkungen / Antworten:

  • Der Indexdienst ist deaktiviert.
Daniel Schaffer 27.04.2009, 16:41
quelle

10 Antworten

4

Ich habe eine Antwort gefunden, die anwendbar ist, wenn Sie den ANTS-Profiler installiert haben und dieser beim Profiling abgestürzt ist. Dieser KB-Artikel beschreibt einen von die Lösungen:

Ссылка \ ANTS_Profiler \ KB200903000362.htm

    
NilObject 12.05.2009, 20:55
quelle
3
  1. Erstellen Sie einen temporären Ordner unter %SystemRoot% und nennen Sie ihn dann Temp .
  2. Erteilen Sie dem ASPNET-Benutzerkonto in .NET Framework 1.0 oder dem NETWORK SERVICE-Benutzerkonto in .NET Framework 1.1 die vollständigen Berechtigungen für den Ordner Temp.
  3. Klicken Sie mit der rechten Maustaste auf Arbeitsplatz, und klicken Sie dann auf Eigenschaften.
  4. Klicken Sie auf der Registerkarte Erweitert auf Umgebungsvariablen.
  5. Wählen Sie die TEMP-Variable unter Systemvariablen und klicken Sie dann auf Bearbeiten.
  6. Geben Sie %SystemRoot%\TEMP in das Feld Wert ein und klicken Sie dann auf OK.
  7. Wiederholen Sie die Schritte 5 und 6, um die TMP-Variable zu bearbeiten. Klicken Sie zweimal auf OK.
  8. Klicken Sie auf Start und anschließend auf Ausführen.

Geben Sie zum Zurücksetzen der Internetinformationsdienste (IIS) in der Eingabeaufforderung iisreset ein.

    
ajau 30.11.2011 09:20
quelle
2

Verwenden Sie SysInternals FileMon (oder ProcMon, wenn Sie möchten), um die echte Datei zu sehen, über die es sich lustig macht. Sie können es auf die Überwachung von IIS beschränken, wenn Sie einen ausgelasteten Server haben, obwohl ich mit allen Prozessen beginnen und nur ein paar Sekunden der Ausgabe erfassen würde.

Stellen Sie vor dem Ausführen sicher, dass IIS mithilfe von iisreset / restart zurückgesetzt wurde, sodass der Fehler nicht zuvor zwischengespeichert wurde.

Ryan

    
Ryan O'Neill 27.04.2009 16:45
quelle
2

An jeden Körper, der immer noch das Problem hat! Meins wird durch das folgende gelöst Ссылка

    
Kiarash 07.04.2011 00:33
quelle
2

Ich hatte denselben Fehler bei der Ausführung von IIS 7.0 / Vista Ultimate / .NET 2.0 Web App. Ich habe versucht, "Vollzugriff" Berechtigungen für temporäre Ordner für NETWORK SERVICE Benutzer (mit der rechten Maustaste auf Ordner c:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727 , Eigenschaften, Registerkarte Sicherheit) und Deaktivieren von Antivirus und UAC, aber es hat nicht geholfen.

Aber das funktionierte wie Magie: Open IIS Manager - & gt; Wählen Sie "Anwendungspools anzeigen" aus dem rechten Menü - & gt; Wählen Sie "Erweiterte Einstellungen" - & gt; Setzen Sie Ihren Benutzernamen (und Ihr Passwort) in der Eigenschaft "Identität" - & gt; Starten Sie IIS neu

Falls dies nicht funktioniert, überprüfen Sie zusätzlich, ob Sie Eigentümer des c:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727 -Ordners sind (rechte Maustaste, Eigenschaften, Registerkarte Sicherheit, Erweitert, Registerkarte Besitzer)

    
ringo-ring 10.10.2009 09:54
quelle
1

OK, wenn Sie die Installation repariert haben, meinen Sie ASPNET_REGIIS -u / ASPNET_REGIIS -i? das würde Datenträgerberechtigungen beheben.

Es könnte Ihr Virenscanner sein; Schließen Sie Ihre .net temporären Ordner / inetpub aus, wenn Sie können und wenn es sicher ist.

    
u07ch 27.04.2009 16:58
quelle
0

Sie müssen versuchen, zu deaktivieren Windows-Indexdienst für den temporären asp.net-Ordner"

    
kd7 27.04.2009 16:46
quelle
0

Ich habe den gleichen Fehler erhalten. Die Antivirus- / Sicherheitssoftware (McAffee Viruscan Enterprise) verhinderte, dass das Visual Studio-Tool csc.exe Code dynamisch kompilierte und die Entity-Datenmodell-DLL im Verzeichnisordner oberhalb des Windows-Verzeichnisordners erstellte. In McAffee gibt es einen Abschnitt namens access protection, der eine Regel namens Maximum Protection enthält, die das Erstellen von ausführbaren Dateien im Windows-Verzeichnis-Ordner verbietet. Deaktivieren Sie einfach vorübergehend die Regel oder den Zugriffsschutz, um die Website erfolgreich zu kompilieren.

    
someone 05.06.2009 20:25
quelle
0

Hier ist die endgültige Lösung :)

  1. Geben Sie zunächst dem ASPNET-Konto, dem NETWORK SERVICE-Konto die Berechtigung für den Ordner "ASP.NET Temporary files" unter dem von ihm verwendeten Framework.
    wie C: \ windows \ microsoft.net \ framework \ v2.xxx \ ASP.NET Temporäre Dateien.

  2. Überprüfen Sie den temporären Ordner, der für Ihren Computer unter Umgebungsvariablen für TEMP und TEMP konfiguriert ist. Für diesen Ordner geben Sie auch alle Berechtigungen für ASPNET Account, NETWORK SERVICE accout. Setzen Sie den IIS zurück Es sollte gut funktionieren.

Prabhas 12.08.2010 14:36
quelle
0

Von Windows Server 2003 x64, IIS6, net 4.0, ASP-Anwendung wurde mir der Fehler angezeigt:

  

Compiler-Fehlermeldung: CS0016: Konnte nicht in die Ausgabedatei 'c: \ WINDOWS \ Microsoft.NET \ Framework64 \ v2.0.50727 \ Temporäre ASP.NET-Dateien \ root \ 7382c13f \ ea9b3ff7 \ App_global.asax.zodyof_q.dll schreiben '-' Der Verzeichnisname ist ungültig. "

Es wurde gelöst, als ich das DIR

erstellte
  

d: \ temp

Keine Ahnung, warum D: \ temp wichtig war, aber ich werde diese Antwort mit einem Grund aktualisieren, sobald ich weiß.

Berechtigungen auf dem DIR waren:

  

Administrator voll

     

Creator Owner special

     

System voll

     

Benutzer lesen & amp; execute / list / read

Es wurde keine IIS-spezifische Benutzerberechtigung definiert.

Arbeitet, um zum IIS7-Host zu migrieren, aber dachte, dass diese Antwort für jemanden hilfreich sein könnte.

    
scott_lotus 18.08.2015 15:54
quelle