J'ai créé un site Web MVC dans Visual Studio 2015 et cela fonctionne dans mon localhost. Mais lorsque j'ai publié mon site Web et mis dans mon hôte, cela ne fonctionne pas. Cela me donne cet avis d'erreur:
Erreur serveur dans l'application '/'.
Erreur de configuration
Message d'erreur de l'analyseur: L'attribut 'targetFramework' dans le fichier L'élément du fichier Web.config est utilisé uniquement pour cibler version 4.0 et ultérieure du .NET Framework (par exemple, ''). Le 'targetFramework' L'attribut fait actuellement référence à une version postérieure au version installée du .NET Framework. Spécifiez une cible valide version du .NET Framework, ou installez la version requise du .NET Framework.
Erreur de source:
Une erreur d'application s'est produite sur le serveur. L'erreur personnalisée actuelle les paramètres de cette application empêchent les détails de l'application erreur d'être vu à distance (pour des raisons de sécurité). Ça pourrait, cependant, être visionné par les navigateurs fonctionnant sur le serveur local.
Fichier source: G:\xxx\xxx.com\httpdocs\web.config Ligne: 24
Informations de version: Microsoft .NET Framework Version: 4.0.30319; Version ASP.NET: 4.0.30319.34248
Parties liées dans mon web.config:
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<!-- For more information on Entity Framework configuration, visit http://go.Microsoft.com/fwlink/?LinkID=237468 --></configSections>
Et cette partie avec erreur:
<system.web>
<authentication mode="None" />
<customErrors mode="Off" />
<compilation debug="true" targetFramework="4.6" />
<httpRuntime targetFramework="4.6" />
</system.web>
Propriétés de mon site web:
Et NuGet Package Manager:
Propriétés de référence EntityFramework:
Paramètres de base du site Web par défaut: (pour être honnête, je ne suis pas sûr de devoir ajouter un nouveau site Web (mon site Web) ici.)
Mes frameworks .net installés:
Ma méthode de publication:
J'ai enquêté sur ce problème sur Internet et j'ai trouvé plusieurs liens en rapport avec mon problème: Problème du framework Asp.net MCV4 . Dans ce lien, il y a deux offres principales:
changer cette balise de compilation
mise à jour du pool d'applications dans IIS
En fait, j'ai essayé de changer cette étiquette mais ça ne change pas. Ensuite, j'ai contrôlé mon pool d'applications, mais il semble être à jour.
J'ai appelé mon fournisseur d'accueil et j'ai expliqué mon problème. Ils disent que cette erreur n'est pas liée à leurs serveurs.
Que devrais-je faire? Quelle est la solution pour cela?
Votre projet de site Web vise la v4.6 du .Net Framework, mais votre fournisseur d’hébergement n’a pas encore installé cette version. Vos options:
@DavidG a justement souligné toutes les choses. Juste du côté informationnel si IIS est votre fournisseur, Web Platform Installer est votre meilleur choix pour vérifier l’état actuel de tout ce qui est installé sur votre ordinateur. Jetez un coup d'œil à l'instantané ci-dessous -
Il est très pratique de vérifier tout ce qui manque et vous pouvez lancer l'installation de toutes les pièces manquantes en un clic.
Je viens d'avoir un problème similaire après l'installation (mise à jour Windows) de la base de connaissances 3205402.
Grande différence avec mon cas: l'application fonctionnait bien avant la mise à jour!
==> J'ai découvert dans "Gestionnaire IIS", "Restrictions ISAPI et CGI", que le framework ASP.NET v4.0.30319 avait été remplacé par "non autorisé"!
Le passage à "Autorisé" a résolu mon problème
J'ai tourné autour avec cela aujourd'hui sans résolution. Exaspéré, je viens finalement de supprimer ma copie de travail de mon lecteur et de le revérifier auprès de SVN.
Fixé.
Pas une réponse particulièrement intelligente, mais cela a réglé le problème pour moi, je ne savais pas quel était le problème.