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.
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.
L'enregistrement du cadre avec IIS est ce qui a fonctionné pour moi:
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -i
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.
ouvrez votre IIS (tapez inetmgr dans Exécuter) et modifiez le paramètre de votre pool d'applications.
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)
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:
Ouvrez IIS
Cliquez sur Pools d'applications
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.
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
Changez le pool d'applications pour cibler framework 4.0 au lieu de classic.
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>
Ouvrir un projet -> appuyer sur Maj + F4 (ouvrir une page de propriétés) -> Choisir Construire -> dans Cadre cible choisi . NET Framework 4 -> OK
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.
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.
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.
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>.
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".
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.
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é.
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.
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:
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!
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>
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".
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.
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.
Supprimez simplement le "Target Framework 4.0" et fermez le support.
Ça va marcher
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.
Suivez ces deux étapes:
Enregistrez la version 4.0 du framework .net (si elle n'est pas enregistrée)
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319> aspnet_regiis -i
Dans le pool d'applications, changez le cadre .net en v4.0