2015-01-02 44 views
5

Otrzymuję następujący błąd podczas uruchamiania mojej aplikacji internetowej asp.net przez VS2013.System.UnauthorizedAccessException: odmowa dostępu do ścieżki VS2013

Błąd: System.UnauthorizedAccessException: Dostęp do ścieżki 'C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET Files \ root \ 0c9c5fe5 \ 51acd19b' jest zabroniony.

FYI Wcześniej wystąpił błąd i aby rozwiązać ten problem, usunąłem wszystkie pliki z folderu "Tymczasowe pliki ASP.NET \ root \", które spowodowały powyższy błąd.

Próbowałem wykonać następujące czynności: - Zrestartowano VS2013 przy użyciu uprawnień administratora! - Dodano pełne uprawnienia IIS_IUSRS w moim folderze aplikacji sieci Web - C: \ Samples \ ASP.NET \ WebApp1 - Dodano pełne uprawnienia IIS_IUSRS w moim folderze tempnet temp - C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary Pliki ASP.NET \ root

Proszę o pomoc!

enter image description here

+0

Prawdopodobnie nie powinieneś usuwać tego folderu ... Zostało to wyjaśnione w [Zrozumienie dynamicznej kompilacji ASP.NET] (http://msdn.microsoft.com/en-us/library/ms366723%28v=vs.140% 29.aspx). Czy możesz stworzyć nowy projekt i skopiować wszystkie pliki do tego projektu? – Patrick

Odpowiedz

1

Czy któraś z bibliotek DLL w rozwiązania oznaczony jako tylko do odczytu?

Czy zostały one wyrejestrowane z kontroli źródła?

Czy uruchomiłeś ponownie komputer po zmianie uprawnień?

Jaka jest tożsamość użytkownika puli aplikacji, czy mają dostęp do folderu tymczasowego?

Czy Twoja aplikacja internetowa w ogóle podszywa się pod innego użytkownika?

Czy Twoja aplikacja robi cokolwiek podczas uruchamiania, może to spowodować?

Użyj SysInternals FileMon, aby sprawdzić, czy inny proces go używa.

+0

Dzięki @ ralph-willgoss, żaden z zespołów nie jest oznaczony jako przeczytany. Ponownie uruchomiłem system i błąd zniknął. Jednak otrzymałem oryginalny błąd: Komunikat o błędzie kompilatora: CS0433: Typ "NorthwindApp.DAL.Categories" istnieje zarówno w "c: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET Files \ root \ 0c9c5fe5 \ 51acd19b \ assembly \ dl3 \ ab057b39 \ a0a21d7d_b826d001 \ NorthwindApp.DLL 'i' c: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Tymczasowe pliki ASP.NET \ root \ 0c9c5fe5 \ 51acd19b \ App_Code.ryyqawx5.dll ' – Chirag

+0

Jeszcze raz dziękuję @ ralph-willgoss, proszę utwórz odpowiedź i na razie zostanie oznaczona jako rozwiązana. – Chirag

+1

Jednym z ważnych faktów, dla których borykałem się z takimi błędami, było to, że korzystałem z folderu "App_Code" w moim projekcie aplikacji sieciowej. "Proszę zauważyć, że folderu" App_Code "można używać tylko w projektach WWW, a nie w sieci Web. Projekty aplikacji !!! Tak więc, jeśli chcesz umieścić pliki klas i skompilować je, musisz utworzyć folder inny niż "App_code", nawet "AppCode" bez znaku podkreślenia powinien działać ... Bardzo dobrze artykuł Vishala [Folder App_Code nie działa z projektami aplikacji sieciowych (WAP)] (http://vishaljoshi.blogspot.com/2009/07/appcode-folder-doesnt-work-with-web.html) – Chirag

9

Dla mnie problem został spowodowany przez ustawienia wyjątku. Debug -> Windows -> Ustawienia wyjątków W oknie, które zostanie wyświetlone odznacz -> Common Language Runtime wyjątkami

I włącz go od czasu do czasu przerwać na wszystkie błędy w tym te, obsługiwane i zostawiła go. Następnie, podczas debugowania aplikacji ASP.Net MVC, zatrzymuje się na błędach odmowy dostępu na starcie. Zgaduję, że próbuje on zapisywać pliki tymczasowe w lokalizacji A, otrzymuje błąd odmowy dostępu, a następnie wykorzystuje lokalizację B.

+0

Dokładne to samo scenariusz: Myśl nigdy nie przyszła mi do głowy, że manipulowanie przy moich ustawieniach wyjątków wpływa na funkcjonowanie rdzennie kodu Microsoft w ten sposób – bkwdesign

+1

@bkwdesign Działa tylko wtedy, gdy masz "Just My C od "wyłączona. Zwykle VS powinien widzieć, że wyjątek nie znajduje się w kodzie, więc logika wyjątków nie jest stosowana, niezależnie od tego, czy jest włączona, czy nie. –

+0

Jeśli masz również wyłączony mój kod i chcesz go w ten sposób, możesz zatrzymać ten błąd, uruchamiając VS jako administrator. – Ewoud

1

Rozwiązałem ten problem, dodając uprawnienia do odczytu do odczytu dla "IUSR" do "Tymczasowych plików ASP.NET" teczka. Serwer IIS_IUSRS nie działał z jakiegoś dziwnego powodu.

+0

Pracował dla mnie: Windows 10, Visual Studio 2017 – Malgaur

Powiązane problemy