web-dev-qa-db-fra.com

Attribut non reconnu 'targetFramework'. Notez que les noms d'attribut sont sensibles à la casse

J'essaie de charger mon site et je reçois ce message d'erreur:

Attribut non reconnu 'targetFramework'. Notez que les noms d'attribut sont sensibles à la casse.

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

Le site fonctionne bien sur mon PC local mais ne s'ouvre pas lorsque je l'ai chargé sur mon hôte et que j'ai essayé de le visualiser en ligne.

402
Mike Nacci

Cela se produit généralement lorsque vous avez un attribut de targetFramework="4.0" dans le fichier web.config alors que le pool d'applications est configuré pour exécuter ASP.NET 2.0. L'attribut targetFramework n'est pas entièrement reconnu par ASP.NET 2.0. Par conséquent, son changement en 2.0 n'aura pas l'effet souhaité.

Contactez le support/votre administrateur et faites basculer l'AppPool vers la version 4.0.

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

591
vcsjones

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

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

Dans IIS

Cliquez sur Pools d'applications

Cliquez avec le bouton droit sur DefaultAppPool --- >> Définir le pool d'applications par défaut ....--- >> Modifiez la version .Net en V 4.0.

42

ouvrez votre IIS (tapez inetmgr dans Exécuter) et modifiez le paramètre de votre pool d'applications. enter image description here

42
Ankit

Dans le menu Visual Studio:

Site Web -> Options de démarrage -> onglet Génération -> Sélection du cadre cible dans la liste déroulante (.NET FrameWork 4)

25
elaiyaraja

Je faisais face au même problème lors de la publication de mon premier service Web. Je l'ai résolu en faisant simplement ceci:

  1. Ouvrez IIS

  2. Cliquez sur Pools d'applications

  3. Clic droit sur DefaultAppPool => Définir le pool d'applications par défaut => Changer la version .Net en V 4.0. (Vous pouvez également modifier spécifiquement la version .Net Framework de votre application)

J'espère que ça va marcher.

12
Arsman Ahmad

pour IIS 7 essayez en fonction de l'image donnée ... marquez-moi utile si cela fonctionne pour vous.

enter image description here

8
gm arif

Je devais enregistrer ASP.Net dans IIS pour le résoudre dans Windows Server 2008 R2. Aperçu des commandes ci-dessous

cd /d C:\Windows\Microsoft.NET\Framework\v4.0.30319

iisreset /stop

aspnet_regiis -i

iisreset /start

%systemroot%\system32\inetsrv\appcmd set config /section:isapiCgiRestriction /[path='%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll'].allowed:True 

%systemroot%\system32\inetsrv\appcmd set config /section:isapiCgiRestriction /[path='%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll'].allowed:True 

enter image description here

8
Lijo

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

  1. Site Web RC -> Gérer le site Web-> Paramètres avancés>
  2. la première option passe du classique au framework 4 intégré.
5
dev.Magdy

J'utilise IIS Express, plutôt que IIS.

Le problème se trouvait dans le fichier applicationhost.config situé dans: {dossier_solution} \. Vs\config\applicationhost.config.

L'une des entrées du pool d'applications avait une valeur managedRuntimeVersion de "v2.0". Je l'ai changé en "v4.0" et cela a fonctionné correctement.

Je suis à peu près sûr que la cause fondamentale est l'un des packages NuGet que j'ai récemment installés.

    <system.applicationHost>
       <applicationPools>
          <add name="BadAppPool1" managedRuntimeVersion="v2.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
       </applicationPools>
    </system.applicationHost>
4
NightShovel

Ouvrir un projet -> appuyer sur Maj + F4 (ouvrir une page de propriétés) -> Choisir Construire -> dans Cadre cible choisi . NET Framework 4 -> OK

4
Chưa biết

Créez un nouveau pool en sélectionnant .Net Framework v4.0.3xxxxx

utiliser le mode Gérer le pipeline: intégré

Attribuez-le à votre site et faites.

3
Ali Adravi

J'ai eu cette erreur d'un échec MSBuild compiler, dans un fichier de projet converti à partir d'une version antérieure de VS en VS2010 et .NET 4.0. Il s'agissait en fait d'un projet de déploiement Web et la solution qui fonctionnait pour moi consistait à ajouter les entrées suivantes à la section PropertyGroup au début du fichier MSBuild:

<ProductVersion>10.0.11107</ProductVersion>

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

Peut-être que ceux-ci sont automatiquement mis à jour lorsque d'autres types de projets sont convertis dans VS2010, mais ils étaient absents de mon fichier de projet Web Deployment après leur conversion.

2
ergolargo

Pour résoudre ce problème, cliquez simplement sur l'icône Version ASP.NET dans la section Outils de site du Panneau de configuration pour faire basculer le framework à 4.0.

2
Sumanuski

Ce que j'ai fait: J'ai modifié la valeur de Pool d'applications en valeur DefaultAppPool par rapport à une valeur précédente. Vous faites cela dans les Paramètres avancés (Site Web -> Gérer le site Web -> Paramètres avancés>.

2
Eldon

Je viens d'avoir cela dans VS 2010.

Corrigé en modifiant le fichier .sln et en modifiant le paramètre TargetFrameworkMoniker de manière à lui attribuer la valeur ". NETFramework, Version% 3Dv4.0".

1
Matt

J'ai également eu le même problème lors de l'exécution de mon application localement, qui pointe vers .Net Framework 4.7.1. Le bogue était " Attribut non reconnu TargetFrameWork " comme indiqué ci-dessous. enter image description here

Mais aucune des réponses ci-dessus ne m'a aidé. Enfin, quand j'ai changé mon port actuel (1413) en une autre valeur (60179) comme indiqué ci-dessous, cela a bien fonctionné pour moi.Mais je ne suis pas sûr de la raison réelle derrière cela, mais cela a fonctionné.

enter image description here

1
Rinoy Ashokan

Ce problème vient de déployer une nouvelle application sur une ancienne boîte IIS. L’enquête a abouti à l’installation de la version 4.5.1 mais de l’application nécessitant la version 4.5.2

Rien d'autre que l'installation de la version correcte de ASP .Net au moment de l'exécution n'était requis.

0
rob

les deux étapes suivantes forceront l’actualisation de Visual Studio et le cache IIS Express et résoudront en général les mêmes problèmes:

  1. Basculez simplement le framework de projet de 4+ vers .Net framework 3.5 et exécutez-le
  2. Si il a fonctionné avec succès, vous pouvez le rétablir dans votre infrastructure cible 4+ souhaitée et voir que cela fonctionnera probablement à nouveau.
0
Iman Abidi

Si vous compilez les fichiers et que la valeur de "targetFramework" est définie comme une version particulière, à savoir 4.0,

Assurez-vous que l'hôte exécute .net framework avec la même version indiquée.

Sinon, téléchargez le framework .net.

Après le téléchargement, si le gestionnaire IIS ne définit pas automatiquement l’utilisation de l’extension de la version récemment téléchargée du framework .net,

ajoutez l’extension manuellement en allant dans le dossier du framework .net récemment téléchargé THROUGH IIS manager:

1. clic droit sur le dossier du site Web

2. allez à "Propriétés"

3. sous "répertoire virtuel", cliquez sur "configuration"

4.éditez le chemin d’exécutable de l’extension ".aspx" (dont le chemin pointant vers une version autre que la version du framework .net récemment téléchargé) sur le chemin correct, à savoir le dossier de la version NEWLY du framework .net téléchargée puis sélectionnez le fichier "aspnet_isapi.dll".

5.cliquez bien!

0
Feed

Il se peut que vous ayez votre propre fichier proj MSBUILD et que vous utilisiez la tâche <AspNetCompiler>. Dans ce cas, vous devez ajouter le ToolPath pour .NET4.

<AspNetCompiler
    VirtualPath="/MyFacade"
    PhysicalPath="$(MSBuildProjectDirectory)\MyFacade\"
    TargetPath="$(MSBuildProjectDirectory)\Release\MyFacade"
    Updateable="true"
    Force="true"
    Debug="false"
    Clean="true"
    ToolPath="C:\Windows\Microsoft.NET\Framework\v4.0.30319\">      
</AspNetCompiler>
0
intrepidis

Vu l'erreur "Attribut non reconnu" targetFramework "" dans la page "Sortie de la console" de Jenkins sur un serveur de construction. C'était après que j'ai changé le "framework cible" de plusieurs projets de ".NET Framework 3.5" en ".NET Framework 4" et que j'ai validé mes modifications.

Dans Jenkins, les paramètres du projet ont dû être modifiés. Pour la solution, la "version MSBuild" a dû être modifiée de "v3.5" à "v4.0".

0
mathijsuitmegen

J'ai eu le même problème et j'ai trouvé ce script poweshell de Nice pour mettre à jour tous vos pools d'applications en même temps: https://gallery.technet.Microsoft.com/scriptcenter/How-to-set-the- IIS-9c295a2

Assurez-vous de définir votre variable $IISAppPoolDotNetVersion = "v4.0" en haut.

0
Hector S.

Pour la superposition, il suffit de changer la version de targetFramework dans le fichier web.config uniquement, les autres éléments n’ayant pas besoin de changer.

0
Cheah Eng Teong

Supprimez simplement le "Target Framework 4.0" et fermez le support.

Ça va marcher

0
Vignesh

Si vous installez IIS après l'installation de .Net FrameWork. Vous devez réinstaller le framework .net pour IIS. Il suffit donc de lancer aspnet_regiis -i. J'espère que c'est utile.

0
Joe.wang

Suivez ces deux étapes:

Enregistrez la version 4.0 du framework .net (si elle n'est pas enregistrée)

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

  2. Dans le pool d'applications, changez le cadre .net en v4.0

0
SharpCoder