webservicehandlerfactory managedpipelinehandler integrated asp.net iis .net-4.0

asp.net - managedpipelinehandler - ¿Cómo soluciono el error IIS "compilerVersion"?



integrated .net-4.0 (6)

Eliminar esta sección de web.config

<compilation debug="true" strict="true" explicit="true" targetFramework="4.0" />

Me sale esta excepción:

System.Configuration.ConfigurationErrorsException: El valor para el atributo ''compilerVersion'' en las opciones del proveedor debe ser ''v4.0'' o posterior si está compilando para la versión 4.0 o posterior de .NET Framework.

¿Qué debo hacer para resolver esto?


En mi caso, era un sitio secundario en el sitio web predeterminado y, aunque la configuración predeterminada del sitio web se estableció en ASP.NET 4.0, el archivo web.config se configuró para 2.0 y 3.5. Cambiar el archivo web.config para usar 4.0 lo solucionó. Use esto como referencia: ASP.NET 4 Breaking Changes


En mi caso, estaba tratando de ejecutar una aplicación secundaria usando 4.0, pero la aplicación principal necesitaba usar 2.0. Envolviendo la información de los compiladores en el web.config principal con una <location path="." inheritInChildApplications="false"> <location path="." inheritInChildApplications="false"> tag lo solucionó.

Parent Web.config:

<location path="." inheritInChildApplications="false"> <system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4"> <providerOption name="CompilerVersion" value="v3.5" /> <providerOption name="WarnAsError" value="false" /> </compiler> </compilers> </system.codedom>


Hemos copiado accidentalmente Web.config en C: / inetpub / wwwroot . Este Web.config accidentalmente copiado pegó una configuración que no coincide y causó el error compilerVersion para nosotros. Eliminar el Web.config resolvió el problema para nosotros.


esto debería ayudar

<configuration> <!-- --> <system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <providerOption name="CompilerVersion" value="v4.0"/> <providerOption name="WarnAsError" value="false"/> </compiler> </compilers> </system.codedom> <!-- --> </configuration>


Tuve un problema similar y tuve que decirle a ASP.NET en la configuración que usara el compilador 3.5 de la siguiente manera modificando Web.config .

He copiado y pegado lo siguiente de mi código. Tienes que cambiar el valor = "v3.5" a value = "v4.0" . Las cadenas de tipo de compilador también pueden cambiar.

<configuration> <!-- ... other configuraiton stuff ... --> <system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4"> <providerOption name="CompilerVersion" value="v3.5"/> <providerOption name="WarnAsError" value="false"/> </compiler> <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4"> <providerOption name="CompilerVersion" value="v3.5"/> <providerOption name="OptionInfer" value="true"/> <providerOption name="WarnAsError" value="false"/> </compiler> </compilers> </system.codedom> </configuration>

En mi caso, el compilador 2.0 se estaba utilizando en lugar de 3.5. Estaba trabajando en un proyecto de sitio web IIS 7, ASP.NET.

Puede obtener información adicional de: