2009-02-06 16 views
22

Recibo el siguiente error cuando intento compilar un sitio asp.net utilizando un script de compilación personalizado.Error de MSBuild al compilar el sitio web de ASP.NET

error ASPCONFIG: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS. 

Aunque la descripción es detallada, no entiendo exactamente lo que significa. No he configurado IIS para alojar este sitio web y no creo que pueda, ya que estoy ejecutando la versión de Vista Home Basic. Entonces, ¿el sitio web no se puede construir usando scripts personalizados? Responda como quiero probar esta función.

+0

posible duplicado de [allowDefinition = Error msbuild 'MachineToApplication'] (http://stackoverflow.com/ preguntas/5271320/allowdefinition-machinetoapplication-msbuild-error) – Flexo

+0

Yo también estaba borrando la carpeta obj hasta que tuve un conflicto con un script de compilación que lo requería. Catch-22, usé la respuesta aceptada en el siguiente enlace SO para mover la ubicación de la carpeta Obj a C: \ Temp \ BUILD. Tienes que hacerlo por archivo csproj, pero es una gran solución. Aquí está el enlace: http://stackoverflow.com/questions/261422/visualstudio-how-to-save-the-obj-folder-somewhere-else –

Respuesta

4

Es probable que su archivo web.config esté ubicado en un directorio que no es la raíz de la aplicación. En la mayoría de las versiones de IIS, puede convertir cualquier carpeta en su sitio web para una raíz de aplicación:

  1. Abrir IIS y navegue a la carpeta correspondiente
  2. Haga clic derecho en la carpeta, seleccione propiedades
  3. Bajo Configuración de la aplicación, y al lado del nombre de la aplicación, haga clic en Crear
  4. Aplicar y cerrar

Si esto no soluciona el problema, puede haber otra error de configuración, ya sea con IIS o su aplicación.

0

En IIS, vaya a la carpeta bajo la que se ejecuta la aplicación, haga clic con el botón derecho en ella, vaya a las propiedades. En la pestaña Directorio, busque "Configuración de la aplicación". Haga clic en el botón Crear.

48

Tuve el MISMO PROBLEMA EXACTO y finalmente descubrí que un web.config deshonesto se colocó en mi carpeta obj ... hazte un favor y haz una búsqueda en todos los subdirectorios de un archivo web.config. Lo borré y todo volvió a la normalidad.

+4

Gracias, eso me solucionó el problema. Tenía el mismo problema. Eliminé la carpeta object \ debug y funcionó de nuevo. –

+4

+1 - Bien, gracias. Otra nota, si creas la carpeta de respaldo dentro de tu proyecto al convertir, necesitarás eliminar/cambiar el nombre del web.config allí también. –

+1

gracias! esto me estaba volviendo loco por horas. my stray web.config estaba en la carpeta/views. * suspiro * – Patricia

15

El archivo rogue web.config en la carpeta obj es más probable que sea causado cuando hace un sitio web de publicación. Así que solo límpialo después de que hayas hecho la publicación.

4

si esto sucede después de que el-directorio virtual ya está creada hacer lo siguiente:

  • haga clic en Web.config
    • propiedades
      • Acción de generación: Contenido
      • Copiar al directorio de salida: No copie
  • si transformada (se aplica a todas las configuraciones)
    • propiedades
      • Acción de generación: Ninguno
      • Copiar al directorio de salida: No copiar
+0

La primera opción funcionó bien para mí, aunque tengo transformaciones de configuración web. – Nekresh

+0

Hombre, este problema me ha sorprendido por tanto tiempo. Este fue el problema! – FrankyBoy

Cuestiones relacionadas