Не вдалося створити віртуальний каталог із помилкою


89

Я не можу вирішити цю проблему

введіть тут опис зображення

Я пропоную мені змінити c:\Windows\System32\drivers\etc\hostsфайл і додати після

# localhost name resolution is handled within DNS itself.

наступний рядок:

127.0.0.1       mysite.dev

але це не допомагає. Будь-які пропозиції?

Під час спроби відкрити проект веб-сайту в Microsoft Visual Studio 2012 виникає помилка.



Це друге або третє посилання на Google, яке я отримав під час пошуку рішення в Інтернеті. Це не те, що мені потрібно.
Дмитро

Відповіді:


167

Найчастіше, принаймні в моєму випадку, це трапляється тоді, коли *.csproj.userфайл знаходиться в каталозі проекту і є <UseIISExpress>true</UseIISExpress>в ньому.

Як варіант, як згадував Захарі Катлер, ви також можете просто: закрити Visual Studio, видалити *.csproj.userфайл і знову відкрити Visual Studio . Це змусить VS відновити файл.


1
це не працює для мене, після оновлення vs2017 15.7.1 я отримав цю проблему.
Марсен Лін

Дуже дякую!
Рубен Таннер

2
Це не спрацювало для мене. Я видалив .vsпапку. видалено *.csproj.userі все ще видає ту саму помилку.
Zapnologica

1
це також спрацювало для мене, я просто видалив файл [myproj] .csproj.user, і він завантажився - це було у VS2019 - працює в адміністративному режимі
Позначити

33

Я вже знайшов рішення. Мені просто довелося відредагувати C:\Users\Administrator\Documents\IISExpress\config\applicationhost.configфайл, додавши свій сайт до <sites>вузла.


Якщо це не відповідь для вас, і якщо ви опинитесь у моїй ситуації, я видалив каталог .vs, щоб очистити кеш, і не помітив, що Visual Studio змінив мою конфігурацію збірки за замовчуванням на автоматично згенеровану, яка була налаштовано на використання IISExpress. Отже, якщо у вас був проект, який працював нормально, а потім припиняв завантаження, я б запропонував перед тим, як робити щось інше, щоб перевірити конфігурацію збірки (чого я, звичайно, не зміг зробити)
saminpa

На жаль, хоча мій попередній "корисний" коментар був точним, це не було першопричиною повідомлення про загадкову помилку. Це було б тим, що автоматично відтворена папка .vs успадкувала шифрування NTFS. Повернутися до звичайного режиму без необхідності редагувати файл проекту після розшифрування цієї папки.
saminpa

Працює навіть через 6 років. У мене виникла ця проблема з останньою версією vs2017. Але вирішив це, використовуючи наведену вище інформацію.
Awais

Коли використовується локальний applicaionhost.configчи той, що знаходиться в папці рішення?
Zapnologica

19

Ви можете встановити локальну службу IIS та відредагувати пару тегів у файлі .csproj. Відкрийте файл csproj і перейдіть до розділу, <VisualStudio>а потім знайдіть тег, <UseIIS>True</UseIIS> він повинен бути встановлений як істинний, потім перейдіть до тегу: <IISUrl>і встановіть URL-адресу, де буде розміщено додаток для тестування:

<VisualStudio>
      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
        <WebProjectProperties>
          <UseIIS>True</UseIIS>
          <AutoAssignPort>False</AutoAssignPort>
          <DevelopmentServerPort></DevelopmentServerPort>
          <DevelopmentServerVPath>/</DevelopmentServerVPath>
          **<IISUrl>http://localhost/myWebSiteAppSample</IISUrl>**
          <NTLMAuthentication>False</NTLMAuthentication>
          <UseCustomServer>False</UseCustomServer>
          <CustomServerUrl>
          </CustomServerUrl>
          <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
        </WebProjectProperties>
      </FlavorProperties>
    </VisualStudio>

І це є. Тепер ви можете нормально завантажувати свій проект.


Смішно, це відповідь на мій випадок.
coffekid

3
З приміткою: **зірочки не повинні бути у файлі. Звичайно.
ErikE

16

Проблема полягає в тому, що налаштування вашого проекту буде виконано в локальному IIS, а вказана URL-адреса не існує.

Є кілька варіантів, які ви можете зробити, щоб вирішити проблему.

Варіант 1 : (Використовуйте IIS Express)

1.) Відкрийте файл .csproj веб-проекту як XAML або в блокноті.

2.) Знайдіть ці властивості та встановіть відповідно до своїх уподобань.

UseIIS = false

UseIISExpress = true

і це все.

Варіант 2 : (Використовуйте локальний IIS)

Виконайте кроки 1, але змініть такі властивості.

UseIIS = true

IISUrl = https: // localhost

UseIISExpress = false


Варіант 1 не працює
Метін Аталай

Варіант 2 працював для мене, просто потрібно було встановити UseIIS = true
Джошло

Варіант 2 спрацював :)
Senura Dissanayake

9

Проблему можна вирішити, видаливши папку .vs у каталозі проекту.

Це вирішує проблему, оскільки під час відкриття проекту після видалення файлу .vs він створює ту саму папку з конфігурацією підпапки та папку з іменем проекту.

Папка конфігурації applicationhost містить необхідні налаштування, необхідні для успішного запуску проекту.


6

Я просто перейшов до каталогу, названого в помилці, і перейменував applicationhost.config і перезапустив, і VS створив новий файл і працював нормально.


2
  • Пробував кілька підходів , згаданих у відповідях, але то , що , нарешті , працював для мене був обмінюючи <IISUrl>з .csprojз <CustomServerUrl>.

Редагувати:

  • Вищевказане не вирішило першопричину проблеми для мене. Однак, якщо ви нещодавно оновлювали Windows, можливо, це може бути причиною проблеми. Спробуйте виконати netsh http add iplisten 0.0.0.0і подивіться, чи вирішить проблему.

Сподіваюся, це допоможе комусь, хто все ще шукає шляху.


1
З усіх речей (і я маю на увазі ВСІ) саме це ( <CustomServerUrl>) нарешті зробило трюк для мене. Дуже дякую!
Зола

1

Не знаю чому, оскільки мій applicationhost.configфайл повністю відсутній у моїй C:\Users\Administrator\Documents\IISExpress\config\папці.

C:\inetpub\history\applicationhost.configЗдавалося, копіювання / вставлення в цю папку вирішило проблему для мене.

Отримав ідею звідси .


У моєму випадку файл пошкоджений. тож я видалив його та замінив файлом applicationhost.config, знайденим у системному пошуку. Я не маю права адміністратора, тому не можу отримати доступ до inetpub \ history. Я думаю, що Visual Studio завжди очікує цього конфігураційного файлу, але після цього, хоча я неодноразово видаляв файл applicationhost.config з IISExpress \ config розташування VS продовжував його створювати. Схоже, іноді налаштування пошкоджуються, але як тільки вони входять у відповідні налаштування, VS піклується про всі власні налаштування.
кумар чандракету

1
  1. Увімкніть функції Windows "Інформаційні послуги" на панелі керування.
  2. Відкрийте файл .csproj і знайдіть
  3. Змініть цей рядок відповідно до ваших вимог. http: // localhost: 777 /
  4. Відкрийте проект / рішення зараз
  5. Якщо не вдалося завантажити знову, просто клацніть рішення правою кнопкою миші та виберіть "Перезавантажити проект".

1

Я знаю, що це, мабуть, рідкісне явище, але я вирішив, що помістив би це тут:

Для мого csprojфайлу було встановлено значення "лише для читання" (не питайте мене, як мені це вдалося), але після того, як я вимкнув доступ "лише для читання", все було нормально. (VS2017)


0

Я зіткнувся з такою ж проблемою через зміну пароля мережі. Змінив пароль для входу до NetExtendor, але я повинен увійти на свій ноутбук зі старим паролем.

Спробуйте виконати ці дії, щоб вирішити цю проблему:

увійдіть в Комп’ютер з будь-яким паролем, який працює, увійдіть у vpn з будь-яким паролем, який працює ctl-alt-del, щоб заблокувати ПК, а потім використовуйте новий пароль, щоб розблокувати його

У мене це працювало :-)

Дякую!


0

Не зовсім та сама помилка, але мене привели до цієї відповіді з моменту збігу першої половини помилки. Ваш файл applicationhost.config може бути просто для читання. Зняття цього вирішило помилку для мене. Однак ця помилка викликає файл спеціально, тому ви зможете легко його знайти.


0

Моє питання було з Windows 10 Defender. Раніше я давав дозвіл IIS, але, схоже, зараз він його ігнорує. Розглянемо це пізніше, але наразі я вимкнув контрольований доступ до папок, і він працював.


0

Я хотів відкрити вихідний проект Visual Studio 2017 у VS 2019 і зіткнувся з тією ж проблемою. Я вважаю, це проблема, пов'язана з версією. Рішення: Створити новий проект у новій VS та скопіювати коди зі старої VS.


Ласкаво просимо до SO! У питанні немає жодної згадки про будь-які зміни у версії VS. Коли ви публікуєте відповідь, перевірте, чи відповідаєте ви на запитання. Якщо ні, то просто створіть питання з цим питанням і дайте відповідь самі, так це допоможе Спільноті.
Девід Гарсія Бодего,

0

Спробуйте розшифрувати файл applicationhost.config. Це спрацювало для мене.


-1

Отже, ось кроки, щоб це виправити:

  1. Перейдіть туди, де знаходиться ваш файл .csproj. Зазвичай це один каталог нижче рішення (.sln)
  2. Клацніть правою кнопкою миші та відкрийте за допомогою текстового редактора (блокнота)
  3. Знайдіть тег IISUrl і замініть його вміст на http: // localhost: (YourPortNumber)
  4. Збережіть і перезавантажте свій проект!
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.