asp.net - studio - ¿Cómo configurar IIS Express para depurar una aplicación en un subdirectorio?
no se pudo depurar este proyecto porque no se ha instalado sql server en el equipo local (1)
Mi aplicación web suele estar ubicada en un subdirectorio de la raíz en IIS. Supongamos que el subdirectorio es "app"
Cuando trato de depurarlo en Visual Studio, la ruta siempre se encuentra en localhost, sin subdirectorio. Esto desordena mis caminos en la aplicación.
Cuando intento cambiar el formulario de la URL del proyecto de http://localhost:port/
a http://localhost:port/app
, simplemente dice "No se puede crear el directorio virtual". Bueno, eso es lo que dijo la primera vez, hasta que eliminé la entrada de la aplicación del archivo application.config, luego lo logré.
Cuando intento "anular la URL de la raíz de la aplicación" para lo mismo, simplemente no funciona. O bien recibe un error del Servidor interno Error 500.0 o, en algunos casos, actúa como si aplicara el archivo web.config de la aplicación tanto al subdirectorio raíz como al virtual, porque da un error al intentar agregar un módulo que tiene Ya se ha añadido (probablemente en la raíz).
He intentado editar la configuración del proyecto en application.config para IIS Express, pero ninguna combinación de configuración parece funcionar.
No entiendo por qué Visual Studio está ubicando el proyecto en un directorio raíz de IIS Express, cuando sabe que este proyecto se implementa en IIS en un subdirectorio. Creo que debería coincidir con la estructura de directorios por defecto.
Esto es lo que parece ahora:
<site name="app" id="5">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/app" physicalPath="C:/Users/username/Desktop/wwwroot/app" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:3056:localhost" />
</bindings>
</site>
Si cambio la ruta de la aplicación a "/ app", aparece el error 500.19, que indica que la configuración no es válida. Si hago lo mismo y elimino la etiqueta del directorio virtual, no se inicia IIS Express por completo.
Encontré la respuesta aquí: https://.com/a/4733387/88409 Pregunta diferente, pero la misma respuesta.
Básicamente, uno debe crear una aplicación secundaria, no solo un directorio virtual secundario.
<site name="app" id="5">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:/Users/username/Desktop/wwwroot" />
</application>
<application path="/app" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:/Users/username/Desktop/wwwroot/app" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:3056:localhost" />
</bindings>
</site>
Parece que requiere ambas entradas de la aplicación (es decir, requiere una aplicación raíz (incluso si es físicamente un directorio ficticio vacío), así como la aplicación secundaria). Si omito la primera entrada de la aplicación en la raíz, entonces aparece el error 500.19 "No se puede acceder a la página solicitada porque los datos de configuración relacionados para la página no son válidos". Sin embargo, con ambas entradas de la aplicación, funciona sin problemas.
Por lo que puedo decir, no hay manera de producir la configuración anterior en Visual Studio, por lo que debe editarse manualmente en application.config. Por lo tanto, estas configuraciones están completamente disociadas con los archivos de proyecto de la aplicación web, lo que no es bueno, IMO.