asp.net - una - Error: allowDefinition=''MachineToApplication'' más allá del nivel de aplicación
error es incorrecto utilizar una sección registrada como allowdefinition='' machinetoapplication (30)
He descargado el proyecto en línea en ASP.Net. Mientras ejecuto la aplicación, obtengo un error
Es un error utilizar una sección registrada como allowDefinition = ''MachineToApplication'' más allá del nivel de la aplicación. Este error puede deberse a que un directorio virtual no está configurado como una aplicación en IIS.
¿Qué cambios debo hacer en web.config o en otro lugar para que esto funcione?
A través de Visual Studio, publiqué un Servicio WCF a través de FTP a un servidor externo. Funcionó bien localmente y al publicar en un servidor interno, pero no en el externo. La solución fue publicar sin proporcionar una Site Path
(en otras palabras, publicar directamente en la raíz del directorio virtual).
No estoy seguro de por qué funcionó, dado que ya había intentado mover los archivos a la raíz a través de un FTP Client externo, entre muchos otros intentos, incluidos todos los enumerados aquí. Tal vez fue algo con el perfil de publicación, como lo fue para FabianVal . Pero ya no estoy de humor para realizar pruebas en este momento, ya que tengo prisa por ponerme al día después de todos los días desperdiciados en este problema.
Acabo de encontrar esta "delicia". Parece presentarse justo después de que haya publicado una aplicación web en modo de lanzamiento.
La única forma de resolver el problema de forma consistente que he encontrado es seguir esta lista de verificación:
- Solución limpia mientras su solución está configurada en modo Release.
- Solución limpia mientras su solución está configurada en modo de depuración.
- Cree mientras su solución está configurada en modo de depuración.
Acabo de tener este problema al construir una segunda versión de mi sitio web. No sucedió cuando lo construí la primera vez.
Acabo de eliminar las carpetas bin y obj, ejecutar una solución limpia y volver a compilarla, esta vez sin ningún problema.
Agregué el guión de publicación de mi sitio web. Al final, elimine la carpeta obj de la carpeta de su sitio web.
Aparentemente había dos archivos web.config en mi solución. Estoy usando MVC4 y había otro archivo de configuración en Vistas y estaba haciendo el cambio en el archivo incorrecto. Reparado allí me ayudó.
Pero siempre puede cambiar la ruta / redirección predeterminada en el archivo global.asax.
El error sugiere que el código que está utilizando espera que se configure un directorio virtual en IIS.
Busque la documentación y agregue el directorio virtual requerido. Debe ser un directorio que tenga un web.config
(no el directorio raíz).
Eliminar carpetas bin y obj. Luego reconstruye la solución.
En Visual Studio 2013 tuve problemas con esto por un tiempo y es bastante fácil de resolver simplemente siga las excepciones que dicen "el directorio virtual no está configurado como una aplicación en IIS"
En mi caso, tuve WebService
en el IIS website
por lo que
- Abrí el sitio web en el administrador de IIS
- hizo clic derecho en la carpeta WCF
- hizo clic en
Convert to Application
- y luego enviado con
Ok
WCF está de vuelta y funcionando.
En mi caso,
La solución contiene 6 proyectos, 1 directorio principal y 5 subdirectorios. todos los subdirectorios que tienen web.config.
Al ejecutar cualquier página dentro de los subdirectorios, recibía el mismo error.
Eliminé esta línea de web.config,
<authentication mode="Windows"/>
eso funcionó para mí.
En mi caso, el problema apareció solo después de que publiqué el proyecto en el subdirectorio. Debido a mi falta de conocimiento, he colocado mi subdirectorio web_publish
dentro del directorio web_project
.
Está claro que web_publish
contiene también los mismos Web.config
que el proyecto contiene. Sin embargo, web_project
no sabe que mi web_publish
debe evitarse al buscar Web.config
s en los subdirectorios anidados. De esta forma, los Web.config
s se duplicaron y apareció el error.
La solución fue colocar mi web_publish
en otro lugar.
En mi caso, había una carpeta de "Copia de seguridad" que contenía otra copia de todo el sitio web allí. Esto significó otro web.config
y la compilación falló con este error. Eliminé la carpeta "Copia de seguridad", hice una solución Limpia en las compilaciones de Depuración y Versión y el error desapareció.
En mi caso, yo era el anfitrión de GoDaddy, que no era el problema, pero agregaba una capa de confusión.
Tenía una carpeta raíz "WebServices" y la establecí como raíz de la aplicación.
SIN EMBARGO el servicio estaba en una subcarpeta llamada "GeoLocateSpecials" ya que la carpeta "WebServices" es un contenedor para muchos servicios.
Así que tuve que configurar GeoLocateSpecials como raíz de la aplicación y funcionó muy bien a partir de ahí.
Espero que ayude a alguien más allá.
Este error ocurre cuando intentas abrir un proyecto como un sitio web. La manera más fácil de determinar si ha creado un sitio web o un proyecto es verificar su carpeta de solución (es decir, dónde guardó su código) y ver si tiene un archivo * .sln en el directorio raíz, si lo hace, entonces '' he creado un proyecto
Solo para agregar, encontré este error justo cuando intenté abrir un proyecto que creé hace un tiempo seleccionando "Archivo", "Abrir sitio web" desde los menús de Visual Studio, mientras que debería haber seleccionado "Archivo", "Abrir proyecto" en lugar. Me enfrenté con la cara tan pronto como me di cuenta :)
Limpie su proyecto Quite la carpeta / obj (probablemente usando publicar y desplegar? - hay un error en ella)
Mi problema fue que accidentalmente publiqué mi servicio web en una ubicación precompletada en una nueva instalación de VS2010.
Había publicado en una carpeta llamada PreCompiledWeb , y sospecho que la web.config lo había estropeado.
Simplemente destruí la carpeta y actualicé el proyecto.
Al hacer doble clic en este error, me llevó a ese archivo web.config erróneo, que me avisó.
Ninguna. Debe configurar el directorio en el que ha colocado el sitio web como una aplicación web dentro de IIS .
Probé todas las soluciones anteriores, pero ninguna de ellas funcionó para mi problema. (Estoy seguro de que hay 1000 soluciones para este problema) Para mi situación, estaba intentando publicar mi servicio web WCF que tenía en prueba para la producción.
Sin embargo, no me di cuenta de que en producción solo somos HTTPS, lo que significa que redirigimos todo a HTTPS. Resultó que estaba señalando el servicio a través de HTTP en lugar de HTTPS, lo que ocasionó el error. La solución en este escenario fue simplemente cambiar el protocolo de dirección a HTTPS en lugar de HTTP.
Espero que eso ayude a un pobre alma tratando de resolver este problema.
Probablemente tiene una carpeta de proyecto sub asp.net dentro de la carpeta del proyecto que no está configurada como directorio virtual. Configure el proyecto para que se ejecute en IIS.
Puede ser el problema de versión, como descargar el proyecto de .NET Framework 2.0 y querer abrirlo en el VS2008, entonces deberá actualizar a la última versión y VS creará la copia de seguridad de la carpeta en el mismo directorio raíz. Lo hará obtener la respuesta here .
Si enfrenta este problema al publicar su sitio web o aplicación en algún servidor, la solución simple que utilicé es convertir la carpeta que contiene archivos a la aplicación web.
Si tiene un proyecto MVC con vistas habilitadas, una de las soluciones es eliminar la carpeta obj antes de la compilación. Agregar al archivo del proyecto:
<Target Name="BeforeBuild">
<!-- Remove obj folder -->
<RemoveDir Directories="$(BaseIntermediateOutputPath)" />
<!-- Remove bin folder -->
<RemoveDir Directories="$(BaseOutputPath)" />
</Target>
Aquí está el artículo: Cómo eliminar bin y / u obj antes de compilar o implementar
Solo encontré esta publicación y me estaba pasando a mí.
Solo Clean
el proyecto y el error desaparece. (debe ser un error VS2010)
Tenía un proyecto que no quería ser una aplicación web. Quería que fuera una carpeta. La respuesta fue eliminar el archivo web.config por completo. Solo pertenece en la raíz de una aplicación.
Tengo el mismo problema en VS 2013 después de publicar mi proyecto en modo de depuración. El problema ha sido resuelto eliminando obj / files
Tengo este problema más frecuente si "verdadero" está habilitado en el archivo del proyecto.
- Establecer falso
Como Jonny dice:
- Solución limpia mientras su solución está configurada en modo Release.
- Solución limpia mientras su solución está configurada en modo de depuración.
- Cree mientras su solución está configurada en modo de depuración.
Tengo un proyecto de sitio web.
En mi caso, había movido el archivo de solución a otra ruta y eso causaba el problema. Lo restauré a la ubicación anterior y el problema desapareció.
Tuve este error al construir la solución con el proyecto de implementación web creado en mi solución. Resuelvo el error eliminando la carpeta donde está desarrollado Web Deployment Project. Esta carpeta se especifica en el atributo "Carpeta de proyecto" de las propiedades WDP
Un cambio reciente de web.config puede estar en el archivo web.config incorrecto.
Se ha agregado una propiedad <machineKey...>
a Views / web.config . No importa cuántas Limpie y Reconstruya el error permaneció. La solución era mover la propiedad a la raíz /web.config .
consejo 1: limpiar y luego reconstruir.
consejo 2: simplemente cierre VS y ábralo de nuevo.
consejo 3: el proyecto descargado puede estar dentro de otra subcarpeta ... abra la carpeta que tiene sus archivos .net.
c: / demo1 / demo / (todos los archivos)
Debería tener que abrir la demo de vs ... no demo1.
si alguna vez encuentras este error
Es un error utilizar una sección registrada como allowDefinition = ''MachineToApplication'' más allá del nivel de la aplicación. Este error puede deberse a que un directorio virtual no se configuró como una aplicación en IIS
SOLUCIÓN
Tuve el mismo problema con VS 2012. Resolví esto por
- Descarga tu proyecto actual
- edite su .csproj
- Encuentra esto
<MvcBuildViews>false</MvcBuildViews>
- En lugar de cambiar falsamente , el valor es verdadero
- Cargue nuevamente su proyecto y no debería tener más este error
Si lo tiene, entonces una solución es eliminar el contenido de la carpeta obj en el proyecto generado por el compilador.