System.Configuration.ConfigurationErrorsException: la valeur de l'attribut 'compilerVersion' dans les options du fournisseur doit être 'v4.0' ou ultérieure si vous compilez pour la version 4.0 ou ultérieure du .NET Framework.
Réponses
Trop de publicités?J'ai eu un problème similaire et avait à dire ASP.NET dans la configuration à utiliser l'3.5 compilateur comme suit en modifiant Web.config
.
J'ai copié et collé à la suite de mon code. Vous devez changer la valeur="v3.5" value="v4.0". Le compilateur le type des chaînes peuvent aussi changer.
<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>
Dans mon cas, le 2.0 compilateur a été utilisé au lieu de 3,5. Je travaillais dans un IIS 7, ASP.NET projet de Site web.
Vous pourriez glaner des informations supplémentaires à partir de:
cela devrait aider
<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>
Dans mon cas, j'essayais d'exécuter une application enfant en utilisant la version 4.0, mais l'application parent devait continuer à utiliser la version 2.0. Envelopper les informations du compilateur dans le fichier web.config parent avec une balise <location path="." inheritInChildApplications="false">
l'a corrigé.
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>
Dans mon cas, il s'agissait d'un site enfant sous le site Web par défaut et bien que les paramètres de site Web par défaut aient été définis sur ASP.NET 4.0, le fichier web.config a été défini sur 2.0 et 3.5. Changer le fichier web.config pour utiliser 4.0 l'a corrigé. Utilisez ceci pour référence: ASP.NET 4 Breaking Changes