El Proyecto de aplicación web [...] está configurado para usar IIS. No se pudo encontrar el servidor web [...].

285

Tengo un proyecto web en mi archivo de solución que "no está disponible" cuando abro la solución. Cuando hago clic derecho en el proyecto web y vuelvo a cargar el proyecto, aparece el siguiente error:

The Web Application Project mycompany.myapp.mywebproject is configured to use IIS. The Web Server 'http://localhost/MyWebApp could not be found.

No he configurado manualmente directorios virtuales para esta aplicación web.

Según mis colegas, Visual Studio debería pedirme que cree directorios virtuales, pero no se me solicita.

Instalé VS2010 antes de instalar IIS en mi máquina de desarrollo.

Aquí está mi configuración de máquina de desarrollo:

  • Windows 7 Enterprise
  • Service Pack 1
  • SO de 64 bits
  • Visual Studio 2010 Enterprise Service Pack 1
  • IIS versión 7.5
practicante de dotnet
fuente

Respuestas:

87

Cuando esto sucede, la solución más fácil es hacer el directorio virtual manualmente.

En primer lugar, debe asegurarse de tener instalada la versión correcta de ASP.Net y de haber instalado las extensiones IIS.

Para hacer esto, vaya a la carpeta de la versión .net correspondiente en C: \ (Windows) \ Microsoft.NET \ Framework \ (dotnetver) \ (sustituyendo las carpetas entre corchetes por las carpetas correctas en su PC) y ejecute este comando

aspnet_regiis.exe -i

Siguiente una vez que se ejecuta y termina, a veces se ejecuta

iisreset

desde la línea de comandos ayuda, a veces no es necesario.

A continuación, vaya a su Administrador de IIS y busque su sitio web localhost y elija agregar una carpeta. Busque la carpeta en su proyecto que contiene el proyecto ASP.Net real y agréguelo.

Finalmente, haga clic derecho en la carpeta que agregó y debería tener una opción que diga 'convertir a aplicación' o 'crear directorio virtual' o algo similar.

¡¡Asegúrese de que el directorio virtual tenga el nombre 'MyWebApp' !!

Vuelva a cargar su solución y debería funcionar.

Por favor ten cuidado; esta no es una pregunta de programación (y realmente no debería publicarse aquí) pero publiqué esta guía ya que es un problema común, pero el consejo que publiqué es genérico; los comandos que he enumerado son correctos, pero los pasos que debe seguir en IIS pueden variar, depende de su versión y los privilegios de su cuenta.

¡Buena suerte!

Russ Clarke
fuente
Seguí las instrucciones y obtuve el siguiente error. Al principio eliminé mi directorio virtual debido a este error. No se puede agregar una entrada de colección duplicada del tipo 'agregar' con el atributo de clave único 'nombre' establecido en 'Telerik_Web_UI_WebResource_axd'
dotnet-
¿Qué da ese error, IIS o Visual Studio cuando inicia la solución?
Russ Clarke
Además, revise web.config para su nuevo proyecto asp.net, ya que tiene dos o más referencias a 'Telerik.WebResource.axd', solo necesita una.
Russ Clarke
Verifiqué web.config ... cuando elimino la entrada ofensiva, recibo el mensaje de error de que la entrada eliminada es necesaria.
dotnet-practicante
a punto de publicar una pregunta separada en breve para el nuevo mensaje de error
dotnet-practer
523

Dado que la respuesta aceptada requiere IIS Manager, e IIS Express no tiene IIS Manager ni ninguna interfaz de usuario, esta es la solución para sus usuarios de IIS Express (y también debería funcionar para todos los demás):

Cuando abra Visual Studio y reciba el mensaje de error, haga clic con el botón derecho en el Explorador de soluciones del proyecto y elija "Editar {NombreDeProyecto} .csproj"

En el archivo del proyecto, cambie la siguiente línea:
<UseIIS>True</UseIIS>
para
<UseIIS>False</UseIIS>
guardar el archivo.

Ahora vuelve a cargar tu proyecto.
Hecho.

Entonces podrás abrir tu proyecto. Si en este punto, desea usar IIS, simplemente vaya a las propiedades de su proyecto, haga clic en la pestaña "Web" y seleccione la opción para usar IIS. Ahí está el botón para "Crear directorio virtual". Puede decirle que necesita ejecutar Visual Studio como administrador para crear ese directorio, así que hágalo si es necesario.

Doug S
fuente
33
en VS2010 UseIIS no está en el archivo csproj, sino en el archivo
.csproj.user
2
En mi caso, todavía quiero usar IIS, así que simplemente cambié la URL, funcionó perfectamente, gracias.
kjetilh
Tengo este problema al actualizar y mover. Esto funcionó para mí, aunque como la solución no se estaba cargando, solo abrí el csproj en el editor de texto. Gracias Doug.
Kieran
2
Esta es la respuesta correcta. El proyecto está configurado para usar IIS e IISExpress al mismo tiempo.
Aaron Reed
2
Al usar VS2013, no veo Editar {ProjectName} .csproj cuando hago clic derecho en la solución. Realicé la edición yendo al sistema de archivos y editando manualmente el archivo .csproj. Era de solo lectura, así que tuve que bailar un poco, pero funcionó.
Al Lelopath
222

Abra la carpeta del proyecto y elimine {Project} .csproj.user , luego vuelva a cargar el proyecto en Visual Studio.

qjuanp
fuente
2
Fui el único en nuestro equipo que vio este error de IIS. El equipo de desarrollo con el que trabajo tenía el mismo archivo .csproj del control de origen, por lo que las otras soluciones anteriores no eran mi problema. Resulta que el archivo .csproj.user que mencionaste estaba causando este error en mi situación. ¡Gracias!
Mi pila se desborda el
3
Esto funcionó para mí después de intentar casi todo lo demás
David
3
Esta es la respuesta correcta. Resuelve un problema con la configuración del proyecto en su máquina (especialmente importante cuando trabaja con TFS).
Markus
1
Esta también es la solución si ha configurado una etiqueta iisurl personalizada pero el proyecto aún se inicia en el host local <IISUrl> MachineName.domain: 12345 / </ IISUrl >
lsp
55
Este me funcionó. No había configuración <UseIIS> en mi caso.
Techgration
33

Esta solución funcionó para mí: haga clic derecho en el Proyecto y seleccione editar y busque el siguiente código como se muestra a continuación en la imagen.

change the <UseIIS>True</UseIIS> to <UseIIS>False</UseIIS>

O

change the <IISUrl>http://example.com/</IISUrl> to <IISUrl>http://localhost/</IISUrl>

captura de pantalla de csproj

Umar Abbas
fuente
30

para mí, tuve que eliminar estas dos líneas del archivo .csproj

<ProjectGuid>{3AA499DF-4A65-43B7-8965-D08A4C811834}</ProjectGuid>
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

Traté de eliminar solo el primero, pero no fue suficiente.

EDITAR: Como muchos usuarios han señalado, esto puede cambiar su tipo de proyecto o alterar su programa de control de fuente. No puedo investigar estos problemas, ya que era un proyecto escolar que ya no tengo. Tenga cuidado al intentar esto. Al menos haga una copia de lo que elimine.

Kisslory
fuente
9
Este funcionó y este debe marcarse como respuesta. Intenté muchas soluciones como se sugiere en SO, pero ninguna funcionó para mí excepto esta.
Bose_geek
3
Después de probar todas las sugerencias anteriores, esta es la que realmente funcionó para mí. Gracias mi amigo
Noble-Savage
2
Esto cambia al tipo de proyecto, por lo que ya no es una aplicación web.
Oram
3
No es una buena idea eliminar <ProjectGuid> del archivo .csproj. Para cargar el proyecto es suficiente eliminar solo <ProjectTypeGuids>, que también es una mala idea, ya que cambia el tipo de proyecto, como mencionó @Oram. Esta respuesta es buena si no desea confirmar sus cambios, solo mire el código en VS.
elshev
1
Esto resolvió los errores de carga del explorador de soluciones que encontré con una solución de Visual Studio 2010 desarrollada por un contratista que me estoy mudando a 2013. El archivo de solución tiene 2 proyectos; una aplicación web y un servicio web. Tampoco pude cargar, por lo que el Explorador de soluciones solo mostraba dos carpetas vacías después de que intenté abrir el archivo de la solución. Una vez que comenté las líneas sugeridas de ProjectGuid y ProjectTypeGuids, pude ver las dependencias de estos proyectos en el Explorador de soluciones. Para mí, esta era una opción de alto riesgo y bajo riesgo ya que podía deshacer fácilmente estos cambios. ¡Gracias!
JohnH
26

Edite el archivo .csproj o vbproj. Encuentra y reemplaza estas entradas

<UseIIS>true</UseIIS> by <UseIIS>false</UseIIS>
<UseIISExpress>true</UseIISExpress> by <UseIISExpress>false</UseIISExpress>
jcmordan
fuente
1
También tuve que cambiar DevelopmentServerPort a un valor distinto de 80.
JoshNaro
1
Y si no puede encontrar la configuración en el archivo csproj. Abra el archivo .csproj.user y hágalo allí.
devzero
10

En mi caso, este problema fue causado por enlaces de IIS rotos. Específicamente, mi enlace 'http' había sido eliminado. Recrearlo solucionó el problema.

Roger Lipscombe
fuente
Experimenté un problema muy similar. Mi enlace HTTP pareció cambiar su nombre un día -_- La configuración del archivo del proyecto <IISUrl>no había cambiado (gracias SVN por confirmar mi memoria y mi cordura), pero de alguna manera el enlace iis sí. Lo arregló y lo proyectado se cargó de inmediato.
Patrick M
Además, recuerde verificar si ha cambiado el sni / hostname del sitio de destino por alguna razón. Esto causó el error en mi caso.
juarola
5

Intente abrir Visual Studio con privilegios de administrador. En mi caso, dio acceso al sitio de IIS e hizo que este error desapareciera. Luego pude cambiar el proyecto para usar IIS Express que no parece necesitar privilegios de administrador.

kad81
fuente
5

Esto funcionó para mí: -
Haga que todos sus sitios web de IIS apunten solo a localhost (Todos sin asignar)

ingrese la descripción de la imagen aquí

JerryGoyal
fuente
5

Si está conectado a través de TFS, abra su archivo project.csproj.user y verifique

<UseIISExpress>false</UseIISExpress>

y cambiarlo a verdadero.

<UseIISExpress>true</UseIISExpress>
Patrick Dengler
fuente
Aunque creo que esto es más una solución al problema que la solución real, le di un visto bueno al resolver mi preocupación inmediata.
Nandun
Trabajó bien :)
Hammad Sajid
4

Puede cargar el proyecto sin establecer el valor del atributo UseIIS en verdadero. Simplemente siga los pasos a continuación:

En el archivo mywebproject.csproj--

Elimine la etiqueta <IISUrl> http: // localhost / MyWebApp / </ IISUrl> y guarde el archivo. La aplicación le asignará automáticamente el puerto predeterminado.

Yogesh Gangwar
fuente
4

No vas a creer eso, startvisual studio como administrador

tan obvio por el mensaje

No se pudo encontrar el servidor web ' http: // localhost / MyWebApp '.

no se pudo encontrar porque puede it has no privileges to see it

Así que solo restartVisual Studio como administrador

Basheer AL-MOMANI
fuente
3

En mi caso, quería cambiar de http a https, así que eliminé http de IIS. En mi archivo .csproj.user descubrí que todavía tenía:

<IISUrl>http://localhost/</IISUrl>

Entonces lo cambié a:

<IISUrl>https://localhost/</IISUrl>
Njaal Gjerde
fuente
2

En mi caso, pude abrir la solución en modo fuera de línea simplemente ejecutando el comando:

iisreset
Conrado Fonseca
fuente
2

Para los usuarios de Win8, si sigue los pasos de la respuesta aceptada, la consola le emite un mensaje que dice "no utilizará la línea de comandos para ejecutar este comando" (parafraseando). En su lugar, acceda a Programas y características a través del Panel de control (o Windows + R> appwiz.cpl), haga clic en 'Activar o desactivar las características de Windows' y asegúrese de tener instalado lo siguiente:

Internet Information Services
  > World Wide Web Services
    > Application Development Features
      > ASP.NET 4.5

Esto verificará también un montón de otras opciones. Tan pronto como instalé estas funciones y ejecuté VS2012 con permisos elevados, pude iniciar mi aplicación con éxito.

Scott Silvi
fuente
2

Esto sucede conmigo cuando intenté abrir un proyecto desde el archivo .csproj, pero lo supero abriendo el proyecto desde VS:

Archivo> Abrir> Sitio web

y seleccione el directorio que incluye mi proyecto.

mshwf
fuente
1

También tuve este error. Pensé que todo estaba configurado correctamente, pero descubrí que faltaba una cosa: el nombre de host que usé para mi proyecto (todavía) no se podía resolver.

Como mi aplicación determina el nombre del cliente actual a partir del nombre de host, utilicé un nombre de host como clientname.mysuperapp.localpara el desarrollo. Cuando agregué el nombre del host de desarrollo a mi hostsarchivo, el proyecto se pudo volver a cargar. Obviamente, tuve que hacer esto de todos modos, pero no he pensado que VS verifique el nombre del host antes de cargar el proyecto.

fero
fuente
1

Verifique si IIS Express está instalado. Si falta IIS Express, Visual Studio podría descartar la configuración <UseIISExpress>false</UseIISExpress>y seguir buscando el expreso.

La A
fuente
1

en mi caso, asegúrese de tener un sitio web "predeterminado"

dibujó
fuente
1

En mi caso, el "Sitio web predeterminado" en IIS no tenía un enlace para localhost en el puerto 80. Debería tener un enlace para cualquiera que sea su valor en el archivo .csproj.

Dan Mirescu
fuente
1

Lo arreglé simplemente reinstalando IIS Express después de descargar desde el siguiente enlace:

https://www.microsoft.com/en-us/download/confirmation.aspx?id=48264

Mateo
fuente
1
Esto no proporciona una respuesta a la pregunta. Una vez que tenga suficiente reputación , podrá comentar cualquier publicación ; en su lugar, proporcione respuestas que no requieran una aclaración del autor de la pregunta . - De la opinión
FluffyKitten
@FluffyKitten Tuve el mismo error que el OP, probé todas las otras respuestas y nada funcionó salvo reinstalar IIS Express. Así que creo que esta es mi respuesta a la pregunta del OP. Vuelva a instalar IIS.
Mateo
Su respuesta se marcó como de baja calidad y está pasando por un proceso de revisión (tenga en cuenta "De revisión" al final del comentario). Si bien puede funcionar, la reinstalación del software es una opción de último recurso cuando nada más funciona y no es una solución específica para el problema de este OP.
FluffyKitten
Si es una opción de último recurso después de que nada más funciona, y de acuerdo con Ajay2707 existe el potencial de que ninguna de las otras respuestas funcione para alguna alma pobre, entonces creo que esta respuesta podría ser útil. ¿Cómo puede designar una respuesta como de baja calidad cuando podría ser lo único que funciona para algunas personas? Te apoyo Ajay2707. Gracias por tomarse el tiempo para contribuir a la comunidad.
nardnob
Inb4 esta conversación se mueve / elimina como de baja calidad. viva la resistencia !!
nardnob
0

En mi caso, la url a la que se hace referencia en el archivo csproj era incorrecta.

Necesitaba tener el prefijo www.

Hice los cambios, guardé el archivo y el proyecto se cargó bien.

Patrick Fischer
fuente
0

Me encontré con este problema cuando el <ProjectTypeGuids>elemento en el archivo .csproj contenía el GUID proyecto de prueba de unidad: {3AC096D0-A1C2-E12C-1390-A8335801FDAB}.

Al eliminarlo, el proyecto se cargó sin problemas.

MvdD
fuente
0

Para los usuarios de DNN, mi problema era que necesitaba un enlace para dnndev.me en el puerto 80. Tengo varias instalaciones que se ejecutan en diferentes puertos y VS requiere que esa URL en particular exista en el puerto 80 (no 86 como la mía).

Mickers
fuente