2013-06-15 12 views
7

I aC# ausführbar sind, die die WCF Webservice in der gleichen server.It löst funktionierte gut, bis es begann Nachricht um diesen Fehler zu wirftleider nicht möglich, eine temporäre Klasse zu generieren (Ergebnis = 1)

Message : Unable to generate a temporary class (result=1). 
error CS2001: Source file 'C:\Windows\TEMP\mchgnxs3.0.cs' could not be found 
error CS2008: No inputs specified 

Was ich Bisher versucht: Gelesener/schreibender Zugang zum Konto, das den WCF auslöst

Vor kurzem ist der Server abgestürzt und von einem Ersatzserver wieder hergestellt worden. Besteht irgendeine Wahrscheinlichkeit, dass es mit dem Fehler verbunden ist?

+0

Überprüfen Sie das C-Laufwerk und stellen Sie sicher, dass die Datei "C: \ Windows \ TEMP \ mchgnxs3.0.cs" vorhanden ist und dass ihre Berechtigungen den Zugriff durch das Konto erlauben, unter dem die C# ausführbare Datei läuft (angemeldet als) . Es ist möglich, dass die Wiederherstellung aus der Sicherung weder die Datei noch die entsprechenden Berechtigungen für die Datei enthielt. –

+0

Dies ist nicht über die Datei oder ihren Namen.Jeder Zeitpunkt der Name der temporären Datei ändert sich, wenn ich die Anwendung ausführen – Jeyaganesh

+1

Es scheint das gleiche Problem wie http://stackoverflow.com/questions/1717574/prevent-net-from-writing-to -c-windows-temp – GoRoS

Antwort

9

Ich habe es gelöst. Sie müssen den Schreibzugriff auf temporäre Ordner bereitstellen. Ich habe diesen Zugriff für verschiedene Benutzer bereitgestellt. Die korrekte Benutzer-ID ist diejenige, die im Anwendungspool Ihres Web-Service erwähnt wird.

+0

Dies ist uns nach dem Upgrade auf Windows 10 und der Verwendung einer WinForms-App passiert; Vorher mit Windows 7, hat gut funktioniert. Die vollständige Kontrolle für den Benutzer hat das Problem gelöst. – coloboxp

1

Ich denke, dass Ihr Projekt im temporären Ordner Windows und "Mchgnxs3.0.cs" -Datei gespeichert werden kann gelöscht werden. Andernfalls sollten Sie versuchen, Ihre Skriptdatei umzubenennen (möglicherweise 'mchgnxs3.0.cs' in 'mchgnxs3_0.cs').