2011-04-04 1 views
10

Obtenir cette erreur:attribut « CompilerVersion » dans les options du fournisseur doit être « v4.0 » ou plus tard

The value for the 'compilerVersion' attribute in the provider options must be 'v4.0' or later if you are compiling for version 4.0 or later of the .NET Framework. To compile this Web application for version 3.5 or earlier of the .NET Framework, remove the 'targetFramework' attribute from the element of the Web.config file.

Il travaillait sur notre système de dev, et nous déployons maintenant à l'assurance qualité en utilisant un type xcopy déployer.

Nous n'avons pas de "compilerVersion" n'importe où dans le fichier web.config et le paramètre targetFramework est défini sur "4.0". Nous avons fait un IISReset.

<system.web> 

     <compilation debug="true" targetFramework="4.0"> 
     <assemblies> 
      <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
      <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> 
      <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
      <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     </assemblies> 
    </compilation> 

MISE À JOUR 2: lorsque nous avons supprimé toute la section, nous avons dépassé l'erreur. Donc ma question est, quel est le problème de quitter dans cette section si nous sommes sur. NET 4.0? Nous avons juste fait une xcopy complète de exactement ce qui était dans Test to QA, et dans QA il obtient l'erreur et DEV ne le fait pas. Donc le logiciel et les configs sont identiques. Pourquoi cela fonctionnerait-il sur un serveur et pas sur un autre? Les options IIS semblent être identiques.

+0

Solution possible http://stackoverflow.com/questions/3314469/asp-net-4-0-how-do-i-fix-the-compilerversion-iis-error – Raghav

Répondre

4
+0

Merci, mais nous voulons 4.0, et La version IIS ASP.NET est définie sur 4.0.30319. – NealWalters

+2

@Neal. Cet article est pour 4.0. Regardez la réponse. Le titre est trompeur. Quelque part dans votre hiérarchie web.config (niveau de l'application, niveau du site, etc.), il y a une balise / pointant vers .NET 3.5 qui confond le serveur web. – Naraen

+0

la différence est qu'ils ont NealWalters

1

Après avoir lutté avec cela pendant un moment, j'ai fini par créer un nouveau site IIS en utilisant un port différent et en ajoutant mon application ASP.Net 3.5 sur le nouveau site et ça fonctionne parfaitement.

+0

Impressionnant, sauve ma vie presque perdre 4h. –

1

J'ai eu la même erreur et découvert que mon site Web v4.0 était hébergé sous le site Web par défaut qui était v2.0. Si vous avez une telle configuration alors vous devez supprimer la ligne suivante de votre web.config:

<compilation defaultLanguage="c#" debug="true" targetFramework="4.0"/> 

J'espère que cela aide.

Questions connexes