Próbuję uruchomić aplikację ASP.NET 2.0 na komputerze XP. O ile mi wiadomo, wszystko jest poprawnie skonfigurowane. Uważam jednak, pojawia się następujący komunikat:Dlaczego błąd ASP.NET wynika z uprawnień do GAC?
Server Application Unavailable
A dwa zdarzenia pojawiają się w dzienniku zdarzeń aplikacji za każdym razem:
aspnet_wp.exe (PID: 3352) stopped unexpectedly.
Failed to execute the request because the ASP.NET process identity does not have read permissions to the global assembly cache. Error: 0x80070005 Access is denied.
Wcześniej aplikacje ASP.NET działało dobrze na tym komputerze.
Próbowałem następujące kroki, bez powodzenia:
- mam przyznane uprawnienia odczytu w katalogu domowym witryny ASPNET o koncie
- mam ponownie zainstalować ASP.NET 2.0 z wykorzystaniem aspnet_regiis -i
- mam przyznane uprawnienia do korzystania z konta ASPNET aspnet_regiis -ga < moim imieniu maszynowego > \ ASPNET
- mam przyznane uprawnienia odczytu do GAC do konta ASPNET za pomocą cacls% windir% \ assembly/e/t/p < nazywam maszyna > \ ASPNET: R
- mam ustawić wersji programu ASP.NET dla witryny do 2,0 w ciągu IIS
Nie jestem pewien, co jeszcze mogę zrobić!
Korzystanie z Monitora procesu doprowadziło mnie bezpośrednio do problemu. Wielkie dzięki dla Mun za wskazówkę.
Był to dość niejasny problem: wcześniej korzystałem z przeglądarki dziennika powiązania dziennika składania (fuslogvw.exe) i ustawiłem ją, aby rejestrować wszystkie powiązania na dysku, korzystając z niestandardowej opcji ścieżki. Jednak konto ASPNET nie ma uprawnień do tej niestandardowej ścieżki. Dlatego powrót do używania domyślnej ścieżki rozwiązał problem. Przypisywanie uprawnień do odczytu/zapisu dla tej niestandardowej ścieżki do konta ASPNET działa tak samo, jak wyłączanie rejestrowania wiązań.
Nie zakładaj niczego i nie możesz się pomylić. – Will