Błąd - nie można uzyskać dostępu do metabazy IIS

842

Po zainstalowaniu programu Visual Studio 2012 i otwarciu rozwiązania pojawia się szereg błędów w tej formie:

Projekt aplikacji sieci Web Foo jest skonfigurowany do korzystania z IIS .
Nie można uzyskać dostępu do metabazy IIS . Nie masz wystarczających uprawnień, aby uzyskać dostęp do stron internetowych IIS na swoim komputerze.

Rozumiem to dla każdej z naszych aplikacji internetowych.


Rzeczy, których próbowałem:

  1. Uruchamianie programu Visual Studio jako administrator
  2. Uruchamianie aspnet_regiis.exe -ga MyUserName
  3. Uruchamianie aspnet_regiis.exe -i

Wydaje się, że są to wspólne rozwiązania tego problemu, ale nie miałem z nimi żadnych sukcesów.

Czy jest coś jeszcze, co mogę spróbować?

jjathman
źródło
27
Czy na pewno działasz jako administrator? Czy po uruchomieniu VS pojawia się okno dialogowe Kontrola konta użytkownika?
Mike Simmons,
43
miałem ten sam problem i kiedy uruchomiłem VS jako administrator (kliknij prawym przyciskiem myszy i wybierz Uruchom jako administrator), zadziałało
Shyju
4
Dla każdego, kto przyjdzie tutaj później, rozwiązałem ten problem, wyłączając funkcje IIS i .Net Framework w systemie Windows 7, a następnie włączając je ponownie. Gdzieś w tej ponownej instalacji naprawiłem mój problem.
jjathman
2
Zanim zastosujesz się do jakichkolwiek porad zamieszczonych tutaj, sprawdź, czy masz oczekujące aktualizacje systemu Windows. Miałem wiele, które wymagały ponownego uruchomienia, zakończenie aktualizacji rozwiązało problem.
Thomas Eyde,
2
Miałem ten sam problem po dodaniu funkcji z tego łącza, a następnie przeczytałem ten artykuł, problem zniknął.
JB

Odpowiedzi:

1447

W systemie Windows 8 Pro :

%systemroot%\inetsrv\config

W systemie Windows 7 oraz 8.1 i 10

%systemroot%\System32\inetsrv\config 

(Gdzie %systemroot%zwykle jest C:\Windows)

Przejdź do odpowiedniej lokalizacji powyżej w Eksploratorze Windows. Zostanie zablokowany dostęp z wyskakującym okienkiem z napisem:

„Nie masz dostępu do tego folderu - kliknij przycisk Kontynuuj, aby uzyskać stały dostęp do tego folderu”

Kliknij „Kontynuuj”, aby przejść do tego folderu i folderu Eksportuj poniżej. Zmieniłem skrót z powrotem na „Uruchom jako ja” (członek domeny i lokalni administratorzy) i byłem w stanie otworzyć i wdrożyć rozwiązanie.

Gordon Kenyon
źródło
44
Udało się, dzięki. Tylko jedna uwaga, folder konfiguracji może znajdować się w C: \ Windows \ System32 \ inetsrv \ config
Alexandr Nikitin
82
% systemroot% \ System32 \ inetsrv \ config (tj. C: \ WINDOWS \ System32 \ inetsrv \ config) w systemie Windows 8.1 działa dobrze
Stefan
13
% systemroot% \ System32 \ inetsrv \ config był poprawną ścieżką dla systemu Windows 7
Aidin 11.11.13
44
@Nate, problem polega na tym, że gdy VS ładuje projekt, próbuje uzyskać dostęp do metabazy IIS, która znajduje się w tym katalogu. Usługi IIS na twoim komputerze są zablokowane z uprawnieniami administratora. Kiedy więc otworzysz VS jako zwykły użytkownik, nie będziesz mieć dostępu do metabazy IIS, a VS nie będzie mógł załadować projektu. (W systemie Windows 7+ domyślnie uzyskujesz dostęp do wszystkiego jako normalny użytkownik. Problem polega na tym, że VS nie poprosi Cię o podniesienie uprawnień, gdy zajdzie taka potrzeba, więc musisz ręcznie przyznać uprawnienia dostępu do tego katalogu sobie. )
PotatoEngineer,
5
%systemroot%\System32\inetsrv\configtakże dla Windows 10.
bonh
248

Myślę, że nie masz uruchomionego programu Visual Studio z uprawnieniami administratora. Zobacz, że:

http://bloggingabout.net/blogs/rick/archive/2012/10/04/unable-to-access-the-iis-metabase.aspx

Cytować

Rozwiązanie tego jest proste: uruchom Visual Studio z „Uruchom jako administrator”. Możesz to zrobić, klikając prawym przyciskiem myszy skrót i wybierając „Uruchom jako administrator”.

Felipe Ardila
źródło
Zdecydowanie działam jako administrator. Otrzymuję monit UAC i stamtąd uruchamia się pomyślnie. Użyłem tego również z VS2010.
jjathman
13
Jeśli chcesz uniknąć bólu związanego z uruchamianiem swojego studia wizualnego jako administrator za każdym razem (co IMHO jest lepszym rozwiązaniem), sprawdź odpowiedź GordonK2004.
Aidin
21
-1 ode mnie. Ten blog promuje prowadzenie IDE przez cały czas jako Administrator. Spowoduje to 101 problemów z pisaniem poprawnego kodu, który działa poprawnie w środowiskach o ograniczonym bezpieczeństwie, do których użytkownicy będą chcieli / będą musieli wdrożyć. O wiele lepiej jest rozwiązać każdą kwestię bezpieczeństwa, gdy pojawia się ona w fazie rozwoju (podczas dobrego testowania każdej części kodu) i udokumentować rozwiązanie potrzebne użytkownikom / instalatorowi, niż wyłączyć ten Run-as-Administator tuż przed uruchomieniem wypuśćcie i miejcie nadzieję, że testerzy odnajdą wszelkie obawy dotyczące bezpieczeństwa, na których tapetowaliście (pęknięcia).
Darryl Miles,
5
@DarrylMiles Chcesz udostępnić prawdziwy przykład, w którym spowodował to problem z bezpieczeństwem?
user247702,
5
To okropna odpowiedź, szkoda, że ​​do tej pory była oceniana. Uruchomienie VS jako administrator to obejście, a nie rozwiązanie.
Jansky
51

Myślę, że napotkaliśmy podobny problem w pracy. Dla nas rozwiązaniem było przejście do Panelu sterowania -> Programy i funkcje -> Włączanie lub wyłączanie funkcji systemu Windows ... wewnątrz tego musieliśmy wybrać Internetowe usługi informacyjne -> Narzędzia do zarządzania siecią -> Kompatybilność zarządzania IIS 6 -> Kompatybilność konfiguracji IIS Metabase i IIS 6. Okno dialogowe Funkcje systemu Windows pokazujące opcję Metabazy IIS

Spróbuj i daj mi znać, jeśli to pomoże!

Uwaga: Działamy w IIS 7.5 na Windows 7, używając zarówno Visual Studio 2005, jak i 2010 i robiąc rzeczy z super-old-school WebServices (.asmx) ...

Jeff B.
źródło
1
Wypróbowałem wszystkie inne rozwiązania (uprawnienia do folderu konfiguracji, nie używam IIS, uruchamiam VS jako administrator, restartuję IIS itp.), Ale to było jedyne rozwiązanie, które działało dla mnie. Dzięki za udostępnienie!
Chris Knight
Dzięki, to mi też pomogło. Używam VS2013, a struktura plików konfiguracyjnych pliku projektu jest inna niż odpowiedź Bruno Seny. Już miałam wyciągnąć włosy, ale potem przypomniałam sobie, że jestem odważna i zdecydowałam się wypróbować to rozwiązanie, które było szybkie.
BraveNewMath
Upewnij się, że IIS Admin servicejest uruchomiony i ustaw Typ uruchomienia na Automatyczny zamiast Wyłączony.
Ivan Chau,
1
W zależności od tego, jak ograniczona jest twoja konfiguracja, może to również wymagać uprawnień administratora.
surfmuggle
34

Rozwiązałem ten problem, przyznając uprawnienia tożsamości IIS AppPool do %systemroot%\inetsrv\config

hopkinsrush
źródło
9
Doskonały! Nie musisz się już męczyć jako administrator. Folder dla Win 7 znajduje się tutaj: C: \ Windows \ System32 \ inetsrv \ config
btomas
To również działało dla mnie, Windows 8.1, IIS 7.0, VS 2012. Dziękuję bardzo
Balthasar
3
powinien być% systemroot% \ system32 \ inetsrv \ config
BlackICE
28

Jeśli pracujesz nad projektem, który nie wymaga użycia usług IIS, obejściem tego projektu z tym błędem jest po prostu kliknięcie rozładowanego projektu prawym przyciskiem myszy i kliknięcie opcji edycji, wyszukaj:

<ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="">
        <WebProjectProperties>
          <UseIIS>True</UseIIS>
        </WebProjectProperties>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
</Project>

i ustaw USEIIS na false

<UseIIS>False</UseIIS>

ponownie załaduj projekt, klikając go prawym przyciskiem myszy po zapisaniu zmian.

brak loga
źródło
To działa dla mnie, ale jaki jest tutaj podstawowy problem? To musi być fałsz na moim komputerze, ale prawda na moim laptopie. Więc jeśli sprawdzę projekt w TFS na moim laptopie, nie ładuje się on na moim pulpicie i odwrotnie, dopóki go nie zmienię.
Derek Ziemba
5
W jaki sposób pomaga to rozwiązać problem niemożności korzystania z IIS?
Jonathon Cowley-Thom
Ustawienia <UseIIS>False</UseIIS>nie działały. Węzeł <UseIISExpress>true</UseIISExpress>był również obecny. Ustawienie wartości false nie pomogło. Nadal potrzebny jest ten sam błąd dostępu do metabazy iis.
surfmuggle
jedyne rozwiązanie, które działa w moim przypadku
Nick Chan Abdullah
18

Miałem dwa różne rodzaje problemów prowadzących do tego błędu i pomyślałem, że podzielę się ...

1. The directory was on an network share and due to UAC restrictions, was 
   unable to be accessed -- even when running as an admin.
2. The directory was on a drive that didn't exist...

Oba wynikają z niefortunnego (imo) wyboru MS, aby umieścić rzeczy w katalogu Documents lub My Document, w połączeniu z naprawdę kiepskimi komunikatami o błędach. W obu powyższych przypadkach podstawowym problemem było to, że plik konfiguracyjny IISExpress przechodzi do Moich dokumentów i albo nie istniał, albo nie był dostępny.

jmoreno
źródło
Jak rozwiązałeś problem? Myślę, że mam do czynienia z jednym z 2 problemów.
Tassisto
Upewnij się, że zarówno katalog Projekty, jak i katalog Moje dokumenty znajdują się na lokalnym dysku. Umieściłem je oba na C: \.
jmoreno
7
Nasza sieć VPN często umiera i pozostawia HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Personal wskazanie na nieistniejący udział plików. Zmiana tej ścieżki na lokalną rozwiązała dla mnie ten problem.
Pasi Savolainen
Rozwiązaniem było dla mnie skopiowanie IISExpressfolderu z folderu Dokumenty na innym komputerze na mój nowy komputer, a potem wszystko zaczęło działać.
twhitbeck
13

Dziękuję wszystkim, którzy odpowiedzieli. Ponieważ było to zamknięte przez długi czas, nie mogłem udzielić wielu opinii, ale w końcu naprawiłem swój problem. Wypróbowałem wiele z tych innych rozwiązań i nie rozwiązały one mojego problemu, ale jestem pewien, że pomagają, gdy podstawowa przyczyna jest inna.

Moje rozwiązanie

Rozwiązałem ten problem, wyłączając funkcje IIS i .Net Framework w systemie Windows 7, a następnie włączając je ponownie. Wygląda na to, że ta ponowna instalacja naprawiła mój problem. Nadal nie wiem, co spowodowało problem, ale co najmniej jeden inny programista w moim zespole miał ten sam problem.

jjathman
źródło
13

W systemie Windows 81 w wierszu polecenia administratora użyj:

icacls "C:\Windows\System32\inetsrv\config" /t /grant "IIS AppPool\DefaultAppPool":(R)

Następnie wróć do VS, kliknij prawym przyciskiem myszy nieudany projekt, wybierz Przeładuj.

Źródło : Przegląd uprawnień IIS7 - ApplicationPoolIdentity

lnaie
źródło
Nie. To da uprawnienia do odczytu konfiguracji IIS puli aplikacji internetowych, która działa jako ta tożsamość. Program Visual Studio nie działa z tą tożsamością, więc nie pomaga w przypadku tego pytania. Ponadto, dlaczego miałbyś pozwolić puli aplikacji na dostęp do konfiguracji IIS? To prosi o kłopoty.
David Bullock,
2
+1, ale zamiast udzielać dostępu do DefaultAppPool, dałem użytkownikowi dostęp do odczytu / zapisu i to naprawiło błąd.
David Schwartz
Zrobiłem to samo, co David, z wyjątkiem pełnej kontroli (F) i to rozwiązało mój problem.
Bernesto,
13

Nawigacja do folderu: %systemroot%\System32\inetsrv\configwyświetla okno dialogowe bezpieczeństwa. Kliknij Kontynuuj, co może rozwiązać problem. Działa to na dwóch osobnych maszynach Win 10 / VS 2017 / IIS.

Jesse Mwangi
źródło
To również działało dla mnie wcześniej. Dzisiaj, próbując tego na nowym laptopie, nie dostałem okna dialogowego bezpieczeństwa podczas przechodzenia do folderu, po prostu nie mogłem w ogóle dostać się do katalogu konfiguracji. Musiałem kliknąć prawym przyciskiem myszy i zmienić uprawnienia do folderu (co wymagało korzystania z lokalnego dostępu administratora) i dać sobie uprawnienia, a potem zadziałało.
CaseyR
12

Miałem ten problem - objawy były takie same, ale problem polegał na tym, że ustawiłem folder „Moje dokumenty” na udział sieciowy, a udział nie był dostępny.

Główny problem polegał na tym, że pliki konfiguracyjne IIS znajdujące się w% USERPROFILE% \ Documents nie są dostępne. Po zmianie lokalizacji folderu „Moje dokumenty” (zmodyfikowałem wartość reg), zaczęło działać ponownie.

Wiem, że może to nie być częsty scenariusz, na który możesz natknąć się, ale opublikowałem go tutaj, ponieważ daje te same objawy.

sargeMonkey
źródło
Pracujemy na maszynie wirtualnej, a współpracownik ustawił folder współdzielony, który ostatecznie wykorzystał folder „Moje dokumenty” do ścieżki sieciowej. Jak stwierdzono w tej odpowiedzi, nie działa bez folderu dokumentów. Sprawdzę, czy ten folder jest dostępny w pierwszej kolejności, aby zaoszczędzić 2 godziny spędzone na przeglądaniu tych postów i takim lol.
Tony
Też miałem ten problem. Folder Moje dokumenty znajdował się w udziale sieciowym, a problem z siecią uniemożliwiał dostęp. Po rozwiązaniu problemu z siecią program Visual Studio przestał wyświetlać błąd metabazy IIS.
GiddyUpHorsey
7

Natknąłem się na to dzisiaj i naprawiłem problem, usuwając IISUrl z pliku projektu:

  1. Kliknij projekt prawym przyciskiem myszy
  2. Kliknij Edytuj
  3. Usuń następujący wiersz:

     <IISUrl>http://localhost:xxxxx </IISUrl>
  4. Załaduj ponownie projekt

  5. Teraz dodaj nowy katalog wirtualny IIS, klikając prawym przyciskiem myszy Projekt> Właściwości> Internet i wybierając Użyj lokalnego serwera sieci Web IIS (Odznacz Użyj IIS Express) i klikając przycisk Utwórz katalog wirtualny.
Rushby
źródło
To nie rozwiąże problemu PO, ponieważ nie można otworzyć projektu, aby zmienić adres URL, gdy pojawi się ten błąd.
htm11h
Częściowo nie zgadzam się z @ htm11h. Miałem błąd OP i usunąłem pojedynczy wpis powyżej (poza VS). Następnie uruchomiłem VS i byłem w stanie przynajmniej otworzyć właściwości. Nie pozwoliło mi to jednak zapisać zmian, więc musiałem %systemroot%\System32\inetsrv\configraz otworzyć i kontynuować pracę jako administrator; również otwórz %systemroot%\System32\inetsrv\config\Exporti zrób to samo. ( błąd niemożliwy do uzyskania dostępu do iis-metabazy )
secretwep
Mój komentarz był taki, że nie można go naprawić z poziomu VS, jak zauważyłeś. Miło wiedzieć, że możesz bezpośrednio edytować plik, ponieważ nie został on wówczas zidentyfikowany. Większość szukała hacka reg.
htm11h
7

Możesz napotkać ten problem i mieć taki sam problem jak ja. „Rozwiązałem” go wcześniej, a potem nastąpiła awaria zasilania i komputer się zawiesił, nie jestem pewien, dlaczego ustawienie rejestru zostało cofnięte, ale jest to ŹRÓDŁO mojego problemu.

  1. Próbowałem wszystkich działających jako administrator
  2. Wszystkie ekspresowe instalacje IIS / IIS są ponownie instalowane.
  3. Różne „hacki”

Sprowadziłem się do konieczności ponownej naprawy rejestru.

  1. Nie można jako administrator nawet otworzyć regedit (trzeba uzyskać dostęp do rejestru, ponieważ problem nie dotyczy szablonu administratora gpedit.msc)

  2. UnHookExec.inf na pulpicie

Wystarczy zapisać plik UnHookExec.inf i zainstalować go, klikając prawym przyciskiem myszy i wybierając opcję Zainstaluj. Instalowanie pliku nie wyświetli żadnego okna wyskakującego ani powiadomienia. http://www.tweakandtrick.com/2011/04/enable-regedit-registry-editor.html

  1. HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ User Shell Folders \ Personal wskazuje na nieistniejący udział plików. Zmiana tej ścieżki na lokalną rozwiązała dla mnie ten problem. - Pasi Savolainen 14 lipca 14 o 8:41

(zmieniono z \\cs2data\home\stickelt\my documents na c:\dev )

Teraz WSZYSTKO jest dobre a Visual Studio otworzyło rozwiązanie z 15 projektami i łączy się z IIS i nie narzeka na brak dostępu do metadanych iis

Nigdy wcześniej się na to nie natknąłem, ponieważ nikt w obecnej pracy nie miał tego problemu (wielu było tu od dawna, niektórzy otrzymali klony innych maszyn, które „działały”, a wiele z nich znajduje się w innej domenie itp.)

Tom Stickel
źródło
6

Właśnie miałem ten problem dzisiaj i stwierdziłem, że nie otworzyłem VS jako „Uruchom jako administrator”. Po wykonaniu tej czynności mogłem opublikować Usługę.

Saurabh Soni
źródło
4

Jeśli masz uprawnienia administratora, kliknij prawym przyciskiem myszy ikonę Visual Studio> właściwości, a następnie zaawansowane, zaznacz „Uruchom jako administrator”. Możesz już uruchamiać visaul studio bezpośrednio jako administrator. W ten sposób formalny i taki podstawowy.

Ramazan Sağır
źródło
3

Oprócz odpowiedzi @nologo musiałem także użyć IIS. Więc zmieniłem

<UseIIS>True</UseIIS>

najpierw „Fałsz”.

  • Otworzył rozwiązanie i zapewnił załadowanie projektu.
  • Zamknij rozwiązanie i to wystąpienie programu Visual Studio
  • Zmień ponownie wartość na „True”
  • Otwórz rozwiązanie. Tym razem nie dostałem żadnego błędu / ostrzeżenia. Mógłbym także bez problemu uruchomić Ctrl + F5 lub F5, gdy mój projekt został zmapowany na stronie IIS.
KSK
źródło
Pomogło mi to w VS 2015, Win10. Przydatne wskazówki, paskudny problem. Wielkie dzięki.
peter_the_oak
To jest w web.config? Jeśli tak to gdzie?
Bob Horn
@BobHorn To jest w pliku csproj lub vbproj. Otwórz plik w edytorze tekstu.
KSK
3

Zmiana tego klucza działała dla mnie:

HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ User Shell Folders \ Personal

Lokalizacja nie istniała.

garryp
źródło
Musiałem zmienić klucz, o którym wspomniałeś, a także HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Personal . Było to spowodowane ustawieniem ścieżki profilu na nieistniejący katalog w usłudze Active Directory / Group Policy.
Fiddles,
Trzecim winowajcą jest HKEY_CURRENT_USER\Software\Microsoft\IISExpresszastąpienie niestandardowego
katalogu
2

Miałem również podobny problem. Moje rozwiązanie jest rozszerzeniem odpowiedzi „Uruchom jako administrator”, co mam nadzieję, że ktoś może się przydać.

Uruchomiłem VS2012 i prawie za każdym razem, gdy musiałem kliknąć prawym przyciskiem myszy, uruchom jako administrator. Zmęczyło mnie to, więc zamiast tego wszedłem do jego właściwości skrótem, kliknąłem zaawansowane, a następnie kliknąłem opcję „Uruchom jako administrator”. Teraz VS2012 zawsze działa jako administrator, ilekroć go otwieram z tego skrótu .

Ważny jest ten bit skrótu. Zacząłem rozgałęziać swój projekt i pobrać gałąź do nowego folderu lokalnego. Kiedy otworzyłem go ze skrótu, nie miałem problemu. Ale jeśli przejdę bezpośrednio do folderu i uruchomię projekt lokalnie bez skrótu, nie uruchomi się on jako administrator i wystąpił ten błąd.

Po pierwszym otwarciu VS2012 jak zwykle najpierw przy użyciu File / Open / Project znowu działało bez problemu. (ponieważ działałem jako administrator). Ale nie działałem jako administrator, kiedy otworzyłem rozwiązanie za pomocą menedżera plików systemu Windows.

Inne sugestie wydają się nieco ekstremalne, ale jest to dość proste, więc najpierw spróbuję spróbować.

Mam nadzieję, że to było pomocne.

Francis Rodgers
źródło
2

Wygląda to na jeden z błędów typu „Wszystkie błędy prowadzą do tej wiadomości”.

Moje było to, że pula aplikacji została właśnie wyłączona. Włączyłem go z powrotem i wszystko działało dobrze.

Nathan Tregillus
źródło
2

Jeszcze jedna rzecz, którą możesz spróbować:

  • Sprawdź, czy masz oczekujące aktualizacje systemu Windows.
  • Jeśli to zrobisz, uruchom ponownie komputer przed wypróbowaniem czegokolwiek innego.

Zwykle nigdy nie wyłączam komputera, więc miałem ich mnóstwo, czekających na ponowne uruchomienie. I to naprawiło.

Thomas Eyde
źródło
2

Próbowałem wszystkiego powyżej. Kredyt trafia do wszystkich powyższych odpowiedzi. Po wypróbowaniu wszystkich sugestii samodzielnie, właśnie zebrałem tę kombinację sugestii w kolejności, która miała dla mnie sens. Uwaga: mój folder Dokumenty znajduje się na dysku udostępnionym. Materiał zastępczy / IISExpress nie ma zastosowania, chyba że jesteś na tej samej łodzi.

  • Skonfiguruj VS, aby działał jako administrator
  • Odinstaluj IIS poprzez Dodaj / Usuń programy, funkcje systemu Windows
  • Restart
  • Uruchom WinRAR lub coś podobnego do administratora i archiwum C:\windows\system32\inetsrv\
  • Uruchom cmd jako admin i rmdir /s c:\windows\system32\inetsrv\ aby całkowicie usunąć wszystkie ślady ostatniej instalacji. Pozostaw podniesione zapytanie cmd otwarte na później.
  • Ponownie zainstaluj IIS z kompatybilnością IIS 6 Metabazy (wątpię, by było to konieczne)
  • Pozostaw domyślną wersję AppPool i domyślną stronę internetową bez zmian (wcześniej usunąłem oba)
  • Biegł C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ga MYDOMAIN\scottt732
  • Biegł C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

Ponadto, ponieważ mój folder Dokumenty znajduje się na dysku współdzielonym, miałem problemy z IIS Express. Nie używam / nie lubię IIS Express, ale Visual Studio narzekało na to.

  • Uruchomiono z podwyższonego polecenia cmd subst U: c:\Temp. Utworzono C:\Temp\Documents\i skopiowałem folder IISExpress z mojego dysku U.
  • Utworzono CustomUserHomeklucz za HKCU\Software\Microsoft\IISExpresspomocąC:\Temp\Documents\IISExpress
  • To pozwoliło mi zmusić Visual Studio do otwarcia moich projektów internetowych i edycji właściwości. Poprawiłem projekty, aby przechowywać ustawienia serwera WWW w pliku użytkownika i dostosowałem go, aby używał niestandardowego adresu URL (nie jestem pewien, czy to konieczne)
  • Mogę / nie muszę uruchamiać substpolecenia przy każdym ponownym uruchomieniu. Nie obchodzi mnie to.

A po trzykrotnym wrzuceniu ręcznika i spędzeniu około 6 godzin mogę otworzyć projekty internetowe w Visual Studio (2015 Update 2).

scottt732
źródło
Uwaga do mnie w przyszłości: zaktualizowałem system Windows 10 do wersji zapoznawczej i znów się zepsuł. Tym razem uruchomiłem 2x aspnet_regiis i komendę subst i wróciłem do pracy. O. I nie zapomnij nakręcić zegarka.
scottt732 30.04.16
2

Przejdź do katalogu głównego projektu i znajdź następujący plik:

YourProjectName.csproj.user - w nim upewnij się, że parametr UseIISExpress ma wartość false :

<UseIISExpress>false</UseIISExpress>


Jeśli to samo nie działa, spróbuj wykonać następujące czynności i spróbuj ponownie:

YourProjectName.csproj - w głównym pliku projektu upewnij się, że zarówno UseIIS, jak i UseIISExpress są ustawione na false :

<UseIIS>True</UseIIS>
<UseIISExpress>false</UseIISExpress>


Po ich zmianie mogłem ponownie załadować projekt.

Uwaga: Upewnij się, że uruchamiasz VS jako Administrator, jak wspomniano w innych odpowiedziach.

E2rdo
źródło
1

Właśnie miałem dzisiaj ten sam problem. I to mnie denerwowało. Chociaż mam jeszcze dwie strony internetowe, które są już opracowywane z tego samego IIS, ale nadal nie mogłem utworzyć nowej witryny. Dziwne, ale zrobiłem to.

  • Usuń witrynę z IIS
  • Utwórz nową witrynę, nadaj jej nazwę „nowa_strona”
  • Wybierz Pula aplikacji inna niż sama nazwa witryny. Więc nie będzie bałaganu przy domyślnych ustawieniach.
  • Zachowaj IP „nieprzypisane”, jeśli korzystasz z tego samego komputera
  • daj mu trochę nieużywanego portu
  • Uruchom program Visual Studio jako „Uruchom jako administrator”, klikając prawym przyciskiem myszy skrót wykonywalny VS.
  • Gotowe!

Nie musisz wyłączać / ponownie instalować niczego innego niż to, co powiedziałem, ponieważ działa.

Daj mi znać, jeśli ktoś miał ten sam problem tak jak ja i rozwiązał ten sam sposób. Myślę, że to nie był problem, ale niewłaściwy sposób tworzenia witryny na localhost, który Visual Studio odrzuca, aby otworzyć.

Mam nadzieję, że pomoże to początkującym.

KMX
źródło
1
  1. Utwórz skrót do „devenv.exe”
  2. wybierz opcję „Uruchom jako administrator” dla skrótu
  3. kliknij dwukrotnie skrót i ponownie otwórz projekt
Mauricio Gracia Gutierrez
źródło
1

Zrobiłem naprawę Visual Studio 2015, aby rozwiązać ten problem. Naprawa zajęła dużo czasu, ale rozwiązała problem, podczas gdy większość z powyższych nie. Używam systemu Windows 7 Enterprise.

Kenmeister
źródło
1

Otwórz wiersz polecenia programu Visual Studio, wpisz poniżej polecenie i uruchom

aspnet_regiis -ga machinename\ASPNET

Po uruchomieniu powyższego polecenia Zresetuj IISi przetestuj aplikację, która rozwiązuje problem.

Jeśli powyższe polecenie nie rozwiązuje problemu, spróbuj uruchomić poniżej polecenia w visual studio command prompt:-

aspnet_regiis -i

Alternatywnie możemy również uruchomić powyższą komendę z naszego wiersza poleceń systemu Windows

Przejdź do menu Start i otwórz Uruchom, wprowadź i kliknij OK

%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe I

Następnie zresetuj usługi IIS i przetestuj aplikację, która rozwiązuje problem


źródło
1

W Visual Studio 2015: zmieniłem UseIIS w pliku .csproj na false i zadziałało to dla mnie.

<UseIIS>False</UseIIS>
Arvind Krmar
źródło
0

W mojej wiadomości, oprócz narzekania na „Nie można uzyskać dostępu do metabazy IIS”, wspomina również o braku dostępu "<IISUrl>http://localhost:6416/</IISUrl>". Kliknij prawym przyciskiem myszy na projekt rozładowania, kliknij Edytuj, znajdź linię "<IISUrl>http://localhost:6416/</IISUrl>", skomentuj. Załaduj ponownie i powinno działać. Ma to związek z tym, że administrator nie ma uprawnień dostępu do tego adresu.

użytkownik2686690
źródło
0

Miałem podobny problem. Program Visual Studio nie ładuje żadnych projektów internetowych i wyświetla błąd: utworzenie katalogu wirtualnego <myproj: myport> nie powiodło się. Nie można uzyskać dostępu do metabazy IIS.

W moim przypadku przyczyną problemu był IISExpress. Kliknięcie prawym przyciskiem myszy IIS Express w Programy i funkcje w panelu sterowania i wybranie naprawy naprawiło problem w mniej niż dwie minuty.

JGa
źródło
0

Korzystam z Win 8 Pro i VS 2013. Po wypróbowaniu wszystkiego na tej stronie ... Po prostu ponownie zainstalowałem IIS Express 8 i wszystko działa teraz (nawet bez uruchamiania jako administrator).

Mój wniosek jest taki, że jest to raczej ogólny błąd i istnieje wiele przyczyn źródłowych.

Yossi
źródło