La creación de un directorio virtual falló con el error


89

No puedo resolver este problema

ingrese la descripción de la imagen aquí

Sugiero que tenga que cambiar el c:\Windows\System32\drivers\etc\hostsarchivo y agregar después

# localhost name resolution is handled within DNS itself.

la siguiente línea:

127.0.0.1       mysite.dev

pero no ayuda. ¿Alguna sugerencia?

Se produce un error cuando intento abrir el proyecto del sitio web en Microsoft Visual Studio 2012.



Es el segundo o tercer enlace de Google, lo obtuve mientras buscaba una solución en Internet. No es lo que necesito.
Dmytro

Respuestas:


167

La mayoría de las veces, al menos en mi caso, esto sucede cuando un *.csproj.userarchivo está en el directorio del proyecto y lo tiene <UseIISExpress>true</UseIISExpress>.

Alternativamente, como lo mencionó Zachary Cutler , también puede simplemente: cerrar Visual Studio, eliminar el *.csproj.userarchivo y volver a abrir Visual Studio . Esto obligará a VS a reconstruir el archivo.


1
esto no funciona para mí, después de la actualización vs2017 15.7.1, tengo este problema.
Marsen Lin

Muchas gracias!
Reuben Tanner

2
Esto no funcionó para mí. He eliminado la .vscarpeta. eliminado *.csproj.usery todavía da el mismo error.
Zapnologica

1
esto también funcionó para mí, acabo de eliminar el archivo [myproj] .csproj.user y se cargó - esto fue en VS2019 - ejecutándose en modo de administración
Mark

33

Ya encontré la solución. Solo tuve que editar el C:\Users\Administrator\Documents\IISExpress\config\applicationhost.configarchivo, agregando mi sitio al <sites>nodo.


En caso de que esta no sea la respuesta para usted y si se encuentra en mi situación, eliminé el directorio .vs para borrar la caché y no noté que Visual Studio había cambiado mi configuración de compilación predeterminada a una generada automáticamente que era configurado para usar IISExpress. Entonces, si tenía un proyecto que funcionaba bien y luego deja de cargarse, le sugiero que, antes de hacer cualquier otra cosa, verifique la configuración de compilación (que por supuesto no
pude

Vaya, aunque mi comentario anterior "útil" era correcto, no era la causa principal del críptico mensaje de error. Ese sería el hecho de que la carpeta .vs recreada automáticamente heredó el cifrado NTFS. Vuelve a la normalidad sin necesidad de editar el archivo del proyecto después de descifrar esa carpeta.
saminpa

Funciona incluso después de 6 años. Tengo este problema con la última versión de vs2017. Pero lo resolvió usando la información anterior.
Awais el

¿Cuándo se usa el local applicaionhost.configfrente al que está en la carpeta de la solución?
Zapnologica

19

Puede optar por instalar IIS localmente y editar un par de etiquetas en el archivo .csproj. Abra su archivo csproj y vaya a la sección, <VisualStudio>luego busque la etiqueta <UseIIS>True</UseIIS> que debe establecerse como verdadera, luego vaya a la etiqueta: <IISUrl>y configure con la dirección URL donde se alojará la aplicación para la prueba:

<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>

Y eso es. Ahora puede cargar su proyecto normalmente.


Es curioso, esta es la respuesta para mi caso.
coffekid

3
Con una nota: los **asteriscos no deben estar en el archivo. Por supuesto.
ErikE

16

El problema sería que la configuración de su proyecto se ejecutará en el IIS local y la URL especificada no existe.

Hay opciones que puede hacer para solucionar el problema.

Opción 1 : (use IIS Express)

1.) Abra el archivo .csproj de su proyecto web como XAML o en el bloc de notas.

2.) Encuentre estas propiedades y configúrelas según sus preferencias.

UseIIS = falso

UseIISExpress = verdadero

y eso es.

Opción 2 : (usar IIS local)

Siga los pasos de la opción 1 pero cambie las siguientes propiedades.

UseIIS = verdadero

IISUrl = https: // localhost

UseIISExpress = falso


La opción 1 no funciona
Metin Atalay

La opción 2 funcionó para mí, solo tenía que establecer UseIIS = true
Joshlo

Opción 2
Funcionó

9

El problema se puede solucionar eliminando la carpeta llamada .vs en el directorio del proyecto.

Esto resuelve el problema porque al abrir el proyecto después de eliminar el archivo .vs, crea la misma carpeta con la configuración de la subcarpeta y la carpeta con el nombre del proyecto.

La carpeta de configuración applicationhost contiene la configuración necesaria para ejecutar el proyecto con éxito.


6

Simplemente fui al directorio nombrado en el error y renombré applicationhost.config y reinicié y VS creó un nuevo archivo y funcionó bien.


2
  • Intenté varios enfoques mencionados en las respuestas, pero lo que finalmente funcionó para mí fue cambiar el <IISUrl>de .csprojpor <CustomServerUrl>.

Editar:

  • Lo anterior no resolvió la causa raíz del problema para mí. Sin embargo, si ha realizado una actualización de Windows recientemente, tal vez sea la razón que está causando el problema. Intente ejecutar netsh http add iplisten 0.0.0.0y vea si resuelve el problema.

Espero que esto ayude a alguien que todavía está buscando una manera.


1
De todas las cosas (y me refiero a TODAS), esta ( <CustomServerUrl>) es la que finalmente me hizo el truco. ¡Muchas gracias!
Ash

1

No sé por qué, mi applicationhost.configarchivo estaba completamente perdido en mi C:\Users\Administrator\Documents\IISExpress\config\carpeta.

Copiar / pegar C:\inetpub\history\applicationhost.configen esa carpeta pareció solucionar el problema por mí.

Tengo la idea de aquí .


En mi caso, el archivo se corrompió. así que lo eliminé y lo reemplacé con un archivo applicationhost.config encontrado en la búsqueda del sistema. No tengo derechos de administrador, así que no puedo acceder a inetpub \ history. Creo que Visual Studio siempre espera este archivo de configuración, pero después de eso, aunque eliminé repetidamente el archivo applicationhost.config de la ubicación de IISExpress \ config, VS siguió creándolo. Parece que en algún momento la configuración se corrompe, pero una vez que está en línea con la configuración correcta, VS se encarga de todas las configuraciones por sí solo.
kumar chandraketu

1
  1. Active las funciones de Windows "Servicios de información de Internet" en el panel de control.
  2. Abra el archivo ".csproj" y busque
  3. Modifique esta línea según sus requisitos. http: // localhost: 777 /
  4. Abra el proyecto / solución ahora
  5. Si no se pudo cargar de nuevo, simplemente haga clic derecho en la solución y seleccione "Recargar proyecto".

1

Sé que esto es probablemente una ocurrencia rara, pero pensé que lo pondría aquí:

Mi csprojarchivo estaba configurado como "solo lectura" (no me pregunten cómo lo logré), pero después de que desactivé el acceso de "solo lectura", todo estuvo bien. (VS2017)


0

Estaba enfrentando el mismo problema debido a que mi contraseña de red cambió. Cambié mi contraseña de inicio de sesión de NetExtendor, pero tengo que iniciar sesión en mi computadora portátil con la contraseña anterior.

Pruebe estos pasos para solucionar este problema:

inicie sesión en la computadora con cualquier contraseña que funcione inicie sesión en vpn con cualquier contraseña que funcione ctl-alt-del para bloquear la PC y luego use la nueva contraseña para desbloquearla

Funcionó para mí :-)

¡Gracias!


0

No es exactamente el mismo error, pero me llevaron a esta respuesta ya que la primera mitad del error coincidió. Su archivo applicationhost.config puede ser simplemente de solo lectura. Quitar eso resolvió el error para mí. Sin embargo, ese error llama al archivo específicamente, por lo que debería poder encontrarlo fácilmente.


0

Mi problema fue con Windows 10 Defender. Le había dado permiso a IIS en el pasado, pero parece que ahora lo está ignorando. Lo veré más tarde, pero por ahora deshabilité el acceso controlado a la carpeta y funcionó.


0

Quería abrir un proyecto existente de Visual Studio 2017 en VS 2019 y encontré el mismo problema. Encuentro que es un problema relacionado con la versión. La solución es: crear un nuevo proyecto en el VS más nuevo y copiar los códigos del VS anterior.


¡Bienvenido a SO! En la pregunta, no se menciona ningún cambio en la versión VS. Cuando publique una respuesta, compruebe que está respondiendo a la pregunta. Si no es así, simplemente cree una pregunta con este problema y respóndase usted mismo, así ayudará a la Comunidad.
David García Bodego

0

Intente descifrar el archivo applicationhost.config. Eso funcionó para mí.


-1

Así que estos son los pasos para solucionarlo:

  1. Vaya donde está su archivo .csproj. Este suele ser un directorio debajo de la solución (.sln)
  2. Haga clic derecho y abra con un editor de texto (bloc de notas)
  3. Busque la etiqueta IISUrl y reemplace su contenido por http: // localhost: (YourPortNumber)
  4. ¡Guarda y recarga tu proyecto!
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.