425 votes

L'attribut "targetFramework" n'est pas reconnu. Notez que les noms d'attributs sont sensibles à la casse

J'essaie de charger mon site et j'obtiens ce message d'erreur :

L'attribut 'targetFramework' n'est pas reconnu. Notez que les noms d'attributs sont sensibles à la casse.

<compilation debug="true" targetFramework="4.0">

Le site fonctionne bien sur mon ordinateur local mais ne s'ouvre pas lorsque je le charge sur mon hôte et que j'essaie de le visualiser en ligne.

0 votes

Il ne montre pas quel fichier contient cela ou à quel endroit ?

2 votes

A-t-il été construit précédemment sur le cadre pré 4.0 ? elegantcode.com/2009/11/10/

0 votes

Ce problème pourrait être résolu par la version 4.0.3. Vous pouvez consulter l'article de la KB ici. J'essaierai peut-être d'obtenir une question/réponse canonique pour cette erreur et de fermer les doublons. Merci.

624voto

vcsjones Points 51910

Cela se produit généralement lorsque vous avez un attribut de targetFramework="4.0" dans le web.config mais le pool d'applications est configuré pour exécuter ASP.NET 2.0. Le site targetFramework n'est absolument pas reconnu par ASP.NET 2.0 - le changer en 2.0 n'aura donc pas l'effet escompté.

Contactez le support / votre administrateur et faites passer l'AppPool à la version 4.0.

Vous pouvez également supprimer complètement l'attribut, mais si votre site a été codé avec le Framework 4.0, je suis sûr que quelque chose d'autre provoquera également une erreur.

20 votes

Merci, cela a résolu le problème, vérifiez ce lien pour un guide étape par étape pour que votre AppPool passe en 4.0 : stackoverflow.com/questions/4890245/

0 votes

Merci @vcsjones..mon site web est maintenant opérationnel grâce à vous :)

0 votes

Pour compléter la solution de @vcsjones, l'enregistrement de .net 4.0 peut également être manqué. Vous pouvez enregistrer .net 4.0 en utilisant procédure dans ce lien et ensuite vous devez changer le pool d'application en 4.0.

83voto

kenik Points 1075

L'enregistrement du cadre avec IIS est ce qui a fonctionné pour moi :

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

7 votes

Cela fonctionne ! pour 64bit est sous C:\Windows\Microsoft.NET\Framework64\v4.0.30319

1 votes

J'ai eu le même problème, mais le regiis ne l'a pas résolu - j'ai dû laisser tomber et recréer toute l'arborescence du site web et réaffecter le pool pour chaque application, et maintenant ça marche....

1 votes

S'il s'agit d'une nouvelle version d'IIS (aucun autre site ne tourne dessus) ou si vous n'avez pas peur que les sites hébergés soient cassés par un changement de framework, vous pouvez utiliser -i au lieu de -ir lors de l'enregistrement.

44voto

Ankit Points 140

Ouvrez votre IIS (tapez inetmgr dans run) et modifiez les paramètres de votre pool d'applications. Pour voir cette image en grand, faites un clic droit sur l'image et ouvrez-la dans un nouvel onglet. enter image description here

27voto

elaiyaraja Points 101

Dans le menu :

Site Web -> Options de démarrage -> onglet "build" - > Sélectionnez le cadre cible dans la boîte combo (.NET FrameWork 4)

0 votes

@user230910 Où est cette option ?

0 votes

Je ne me souviens pas clairement mais je pense que cela fait référence à IIS.

0 votes

A fonctionné parfaitement pour moi MAI 2019 en utilisant Visual Studio 2019 web forms app sur AWS EC2 Windows Server 2019.

5voto

dev.Magdy Points 41

Changez le pool d'applications pour target framework 4.0 au lieu de classic .

  1. Site web RC ->gestion du site web->paramètres avancés>>.
  2. la première option passe de classique à cadre 4 intégré.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X