2013-06-15 24 views
7

mam aC# wykonywalny, który uruchamia usługa WCF w tym samym server.It działa dobrze dopóki nie zaczął rzuca ten komunikat o błędzieNie można wygenerować tymczasowej klasy (wynik = 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 

Co ja Dotychczas próbowałem: Dostarczony dostęp do odczytu/zapisu konta, które uruchamia WCF

Ostatnio serwer się zawiesił i przywrócił z serwera zapasowego. Czy jest jakaś szansa, że ​​jest on powiązany z błędem?

+0

Sprawdź dysk C i upewnij się, że istnieje plik '' C: \ Windows \ TEMP \ mchgnxs3.0.cs', a jego uprawnienia umożliwiają dostęp kontu, na którym działa program C# (zalogowany jako) . Możliwe, że przywracanie z kopii zapasowej nie zawierało pliku lub odpowiednich uprawnień do pliku. –

+0

Nie dotyczy to pliku ani jego nazwy. W międzyczasie nazwa pliku tymczasowego zmienia się po uruchomieniu aplikacji. – Jeyaganesh

+1

Wygląda na ten sam problem, co http://stackoverflow.com/questions/1717574/prevent-net-from-writing-to -c-windows-temp – GoRoS

Odpowiedz

9

Rozwiązałem go. Musisz zapewnić dostęp do zapisu do folderu tymczasowego. Udostępniam ten dostęp innemu użytkownikowi. Prawidłowy identyfikator użytkownika jest wymieniony w puli aplikacji usługi internetowej.

+0

To zdarzyło się nam po aktualizacji do Windows 10 i użyciu aplikacji WinForm; Wcześniej w systemie Windows 7 działało dobrze. Włączenie pełnej kontroli dla użytkownika rozwiązało problem. – coloboxp

1

Myślę, że Twój projekt przechowywany w folderze tymczasowym Windows i plik "mchgnxs3.0.cs" może zostać usunięty. W przeciwnym razie należy spróbować zmienić nazwę pliku skryptu (może "mchgnxs3.0.cs" na "mchgnxs3_0.cs").