2011-11-10 19 views
42

Duplicar posibles:
Unrecognized attribute 'targetFramework'. Note that attribute names are case-sensitiveatributo no reconocido 'targetframework'

En primer lugar, permítanme decir que soy consciente de que esta pregunta se ha hecho un par de veces en este sitio - pero las respuestas a todos estos no resuelven mi problema.

que estoy viendo el siguiente problema cuando intento agregar un nuevo controlador administrado en IIS7:

atributo no reconocido 'targetFramework'. Tenga en cuenta que los nombres de atributos distinguen entre mayúsculas y minúsculas.

El entorno es Windows Server Enterprise 2008 SP1 con IIS7 instalado.

Mi aplicación está utilizando .NET 4.0. El marco .NET se instaló después de que IIS:

He intentado/comprobó lo siguiente:

  • Mi grupo de aplicación está utilizando .NET 4.0 (tengo una versión de .NET 4.0 instalado, no de beta etc. .)
  • Asegurado .NET 4.0 está registrado correctamente con IIS usando 'aspnet_regiis.exe -iru'.
  • Reciclado del grupo de aplicaciones, reinicio de la máquina.
  • Desinstalado por completo .NET 4.0, luego vuelva a instalarlo.
  • Se ha eliminado el atributo 'targetFramework' - esto solo causa un bloqueo en otro lugar.

Para mí, parece que IIS sigue haciendo referencia a una versión anterior de .NET de alguna manera, aunque mis grupos de aplicaciones en IIS me dicen que están utilizando .NET 4.0.

Mi sitio web carga bien, pero no puedo configurar mi controlador de imagen personalizado debido a este problema.

Agradecería cualquier consejo.

Gracias.

ACTUALIZACIÓN

Esto es una locura .. He reconstruido totalmente por el medio ambiente a partir de cero:

  • Descargar 'Windows Server Enterprise sin Hyper V SP1' de MSDN.
  • Instalar .NET 4.0
  • instalar ASP.NET MVC 3
  • Añadir papel del 'Servidor Web' - asegurarse de grupo de aplicaciones está utilizando .NET 4.0
  • instalar mi proyecto

El mismo error ocurre cuando intento agregar una asignación personalizada de Hanlder. Estoy haciendo algo incorrectamente/completamente estúpido o hay algún problema con IIS7 en esta configuración.IIS no reconoce el atributo 'targetFramework' de .NET 4.0, aunque mi grupo de aplicaciones está configurado para usar .NET 4.0.

Si uso el comando 'aspnet_regiis -lv', me dice que solo .NET 4 está registrado con IIS.

+0

Usted no ha mencionado tratando esta solución: http://stackoverflow.com/questions/5420094/unrecognized-attribute-targetframework-in- 4-0-site-with-2-0-sub-folder – Rob

+0

Lo he visto: mi versión de IIS es 7, y el directorio virtual definitivamente usa .NET 4.0 (según IIS al menos). En este punto, estoy considerando reconstruir todo el entorno desde cero. –

+0

¿Cuál es el número exacto de versión de .NET que se muestra en el grupo de aplicaciones? ¿Es '4.0.21006.1'? ¿También podría mostrar cómo se ve su web.config? –

Respuesta

62

Registro del marco con IIS es lo que funcionó para mí:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -i 
+1

Muchas gracias, funcionó para mí también. –

+4

Note el '>' allí, lo confundí con una ruta completa. –

+1

Realmente no entiendo por qué esto debería ser necesario cuando instala IIS con asp.net como una característica seleccionada:/ – Ortund

29

¿Tiene la configuración de su sitio en el nodo del sitio "Sitio web predeterminado" o creó un nuevo sitio en IIS? Si creó un sitio nuevo, intente acceder al 'Sitio web predeterminado' y cambie su grupo de aplicaciones de 'DefaulAppPool' a 'Asp.Net v4.0'. Sé que el 'Sitio web predeterminado' no debería tener nada que ver con su sitio, pero lo he leído en algunas situaciones que ayudaron a resolver el problema. Además, para que su manejador de imágenes personalizado funcione, intente utilizar un manejador HTTP sin configuración, con una extensión de archivo .ashx. De esta forma puede hacer que su controlador de imagen funcione (hasta que resuelva este problema) sin tener que registrarlo en IIS.

+0

Es un sitio independiente en IIS que se ejecuta en un puerto diferente. Mi sitio web predeterminado se ejecuta bajo el mismo grupo de aplicaciones .NET 4.0. Una cosa que acabo de notar es que en IIS -> .NET Compilation -> General -> Assemblies, todos los ensamblajes parecen apuntar a la versión 2.0 –

+1

Yo también tengo más IIS >> .NET Compilation >> General >> Ensambles apuntando a versión 2.0, mientras que algunos otros apuntan a 3.0 y 3.5. Esto solo identifica la versión .net con la que se ensamblaron los ensamblados. No estoy seguro de que esto tenga algo que ver con tu problema. – bbeny

+0

¡Gracias! Esto funcionó para mí. Absolutamente loco ¿Es esto un error? –

Cuestiones relacionadas