Partager via


Déploiement d’une application web ASP.NET avec SQL Server Compact à l’aide de Visual Studio ou visual Web Developer : Résolution des problèmes (12 sur 12)

par Tom Dykstra

Télécharger le projet de démarrage

Cette série de tutoriels vous montre comment déployer (publier) un projet d’application web ASP.NET qui inclut une base de données SQL Server Compact à l’aide de Visual Studio 2012 RC ou Visual Studio Express RC 2012 pour web. Vous pouvez également utiliser Visual Studio 2010 si vous installez la mise à jour de publication web. Pour une présentation de la série, consultez le premier tutoriel de la série.

Pour obtenir un tutoriel qui montre les fonctionnalités de déploiement introduites après la version RC de Visual Studio 2012, montre comment déployer SQL Server éditions autres que SQL Server Compact et montre comment déployer sur des sites Web Windows Azure, consultez ASP.NET déploiement web à l’aide de Visual Studio.

Cette page décrit certains problèmes courants qui peuvent survenir lorsque vous déployez une application web ASP.NET à l’aide de Visual Studio. Pour chacune d’elles, une ou plusieurs causes possibles et des solutions correspondantes sont fournies.

Erreur du serveur dans l’application « / » - Les paramètres d’erreur personnalisés actuels empêchent l’affichage à distance des détails de l’erreur

Scénario

Après avoir déployé un site sur un hôte distant, vous obtenez un message d’erreur qui mentionne le paramètre customErrors dans le fichier Web.config, mais qui n’indique pas la cause réelle de l’erreur :

Server Error in '/' Application.
Runtime Error 

Description: An application error occurred on the server. The current custom error settings 
for this application prevent the details of the application error from being viewed remotely 
(for security reasons). It could, however, be viewed by browsers running on the local server 
machine. 

Details: To enable the details of this specific error message to be viewable on remote machines,
please create a <customErrors> tag within a "web.config" configuration file located in the
root directory of the current web application. This <customErrors> tag should then have its
"mode" attribute set to "Off".

Cause et solution possibles

Par défaut, ASP.NET affiche des informations détaillées sur les erreurs uniquement lorsque votre application web s’exécute sur l’ordinateur local. En règle générale, vous ne souhaitez pas afficher d’informations détaillées sur les erreurs lorsque votre application web est accessible au public sur Internet, car les pirates informatiques peuvent être en mesure d’utiliser ces informations pour détecter des vulnérabilités dans l’application. Toutefois, lorsque vous déployez un site ou des mises à jour sur un site, il arrive que quelque chose se passe mal et que vous devez obtenir le message d’erreur réel.

Pour permettre à l’application d’afficher des messages d’erreur détaillés lorsqu’elle s’exécute sur l’hôte distant, modifiez le fichier Web.config afin qu’il soit customErrors désactivé, redéployez l’application et réexécutez l’application :

  1. Si l’application Web.config fichier a un customErrors élément dans l’élément system.web , remplacez l’attribut mode par « off ». Sinon, ajoutez un customErrors élément dans l’élément system.web avec l’attribut mode défini sur « off », comme illustré dans l’exemple suivant :

    <configuration>
      <system.web>
        <customErrors mode="off"/>
      </system.web>
    </configuration>
    
  2. Déployez l’application.

  3. Exécutez l’application et répétez tout ce que vous avez fait précédemment à l’origine de l’erreur. Vous pouvez maintenant voir quel est le message d’erreur réel.

  4. Une fois l’erreur résolue, restaurez le paramètre d’origine customErrors et redéployez l’application.

L’accès est refusé dans une page web qui utilise SQL Server Compact

Scénario

Lorsque vous déployez un site qui utilise SQL Server Compact et que vous exécutez une page dans le site déployé qui accède à la base de données, le message d’erreur suivant s’affiche :

Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

Cause et solution possibles

Le compte SERVICE RÉSEAU sur le serveur doit être en mesure de lire les fichiers binaires natifs SQL Service Compact qui se trouvent dans le dossier bin\amd64 ou bin\x86 , mais il ne dispose pas d’autorisations de lecture pour ces dossiers. Définissez l’autorisation de lecture pour NETWORK SERVICE sur le dossier bin , en veillant à étendre les autorisations aux sous-dossiers.

Impossible de lire le fichier de configuration en raison d’autorisations insuffisantes

Scénario

Lorsque vous cliquez sur le bouton Publier de Visual Studio pour déployer une application sur IIS sur votre ordinateur local, la publication échoue et la fenêtre Sortie affiche un message d’erreur semblable à celui-ci :

An error occurred when reading the IIS Configuration File 'MACHINE/REDIRECTION'. 
The identity performing this operation was ... Error: Cannot read configuration file due to insufficient permissions.

Cause et solution possibles

Pour utiliser la publication en un clic sur IIS sur votre ordinateur local, vous devez exécuter Visual Studio avec des autorisations d’administrateur. Fermez Visual Studio et redémarrez-le avec des autorisations d’administrateur.

Impossible de se connecter à l’ordinateur de destination... Utilisation du processus spécifié

Scénario

Lorsque vous cliquez sur le bouton Publier de Visual Studio pour déployer une application, la publication échoue et la fenêtre Sortie affiche un message d’erreur semblable à celui-ci :

Web deployment task failed.(Could not connect to the destination computer ("<server URL>") using the specified process
("The Web Management Service"). This can happen if a proxy server is interrupting communication with the destination server. 
Disable the proxy server and try again.) ... The remote server returned an error: (502) Bad Gateway.

Cause et solution possibles

Un serveur proxy interrompt la communication avec le serveur de destination. Dans le Panneau de configuration Windows ou dans Internet Explorer, sélectionnez Options Internet, puis sélectionnez l’onglet Connexions. Dans la boîte de dialogue Propriétés Internet, cliquez sur Paramètres LAN. Dans la boîte de dialogue Paramètres du réseau local (LAN), désactivez la case à cocher Détecter automatiquement les paramètres . Cliquez ensuite à nouveau sur le bouton Publier.

Si le problème persiste, contactez votre administrateur système pour déterminer ce qui peut être fait avec les paramètres de proxy ou de pare-feu. Le problème se produit parce que Web Deploy utilise un port non standard pour le déploiement du service de gestion web (8172) ; pour d’autres connexions, Web Deploy utilise le port 80. Lorsque vous effectuez un déploiement sur un fournisseur d’hébergement tiers, vous utilisez généralement le service de gestion web.

Le pool d’applications .NET 4.0 par défaut n’existe pas

Scénario

Lorsque vous déployez une application qui nécessite .NET Framework 4, le message d’erreur suivant s’affiche :

The default .NET 4.0 application pool does not exist or the application could not be added. 
Please verify that ASP.NET 4.0 is installed on this machine.

Cause et solution possibles

ASP.NET 4 n’est pas installé dans IIS. Si le serveur sur lequel vous déployez est votre ordinateur de développement et que Visual Studio 2010 est installé sur celui-ci, ASP.NET 4 est installé sur l’ordinateur, mais ne l’est peut-être pas dans IIS. Sur le serveur sur lequel vous effectuez le déploiement, ouvrez une invite de commandes avec élévation de privilèges et installez ASP.NET 4 dans IIS en exécutant les commandes suivantes :

cd %windir%\Microsoft.NET\Framework\v4.0.30319
aspnet_regiis.exe –iru

Vous devrez peut-être également définir manuellement la version .NET Framework du pool d’applications par défaut. Pour plus d’informations, consultez le tutoriel Déploiement sur IIS en tant qu’environnement de test .

Le format de la chaîne d’initialisation n’est pas conforme à la spécification commençant à l’index 0.

Scénario

Après avoir déployé une application à l’aide de la publication en un clic, lorsque vous exécutez une page qui accède à la base de données, vous recevez le message d’erreur suivant :

Format of the initialization string does not conform to specification starting at index 0.

Cause et solution possibles

Ouvrez le fichier Web.config dans le site déployé et case activée pour voir si les valeurs de chaîne de connexion commencent par $(ReplaceableToken_, comme dans l’exemple suivant :

<connectionStrings>
  <add name="DefaultConnection" connectionString="$(ReplaceableToken_DefaultConnection-Web.config Connection String_0)" providerName="System.Data.SqlServerCe.4.0" />
  <add name="SchoolContext" connectionString="$(ReplaceableToken_SchoolContext-Web.config Connection String_0)" providerName="System.Data.SqlServerCe.4.0" />
</connectionStrings>

Si les chaînes de connexion ressemblent à cet exemple, modifiez le fichier projet et ajoutez la propriété suivante à l’élément PropertyGroup correspondant à toutes les configurations de build :

<AutoParameterizationWebConfigConnectionStrings>False</AutoParameterizationWebConfigConnectionStrings>

Redéployez ensuite l’application.

Erreur interne du serveur HTTP 500

Scénario

Lorsque vous exécutez le site déployé, le message d’erreur suivant s’affiche sans informations spécifiques indiquant la cause de l’erreur :

HTTP Error 500 - Internal Server Error.

Cause et solution possibles

Il existe de nombreuses causes d’erreurs 500, mais l’une des causes possibles si vous suivez ces tutoriels est que vous placez un élément XML au mauvais emplacement dans l’un des fichiers de transformation XML. Par exemple, vous obtiendrez cette erreur si vous placez la transformation qui insère un <location> élément sous <system.web> au lieu de directement sous <configuration>. Dans ce cas, la solution consiste à corriger le fichier de transformation XML et à redéployer.

Erreur interne du serveur HTTP 500.21

Scénario

Lorsque vous exécutez le site déployé, le message d’erreur suivant s’affiche :

HTTP Error 500.21 - Internal Server Error. 
Handler "PageHandlerFactory-Integrated" has a bad module "ManagedPipelineHandler" in its module list.

Cause et solution possibles

Le site que vous avez déployé cible ASP.NET 4, mais ASP.NET 4 n’est pas inscrit dans IIS sur le serveur. Sur le serveur, ouvrez une invite de commandes avec élévation de privilèges et inscrivez ASP.NET 4 en exécutant les commandes suivantes :

cd %windir%\Microsoft.NET\Framework\v4.0.30319
aspnet_regiis.exe –iru

Vous devrez peut-être également définir manuellement la version .NET Framework du pool d’applications par défaut. Pour plus d’informations, consultez le tutoriel Déploiement sur IIS en tant qu’environnement de test .

Échec de l’ouverture de la base de données SQL Server Express dans App_Data

Scénario

Vous avez mis à jour la chaîne de connexion de fichier Web.config pour qu’elle pointe vers une base de données SQL Server Express en tant que fichier .mdf dans votre dossier App_Data, et la première fois que vous exécutez l’application, le message d’erreur suivant s’affiche :

System.Data.SqlClient.SqlException: Cannot open database "DatabaseName" requested by the login. The login failed.

Cause et solution possibles

Le nom du fichier .mdf ne peut pas correspondre au nom d’une base de données SQL Server Express qui a déjà existé sur votre ordinateur, même si vous avez supprimé le fichier .mdf de la base de données existante précédemment. Remplacez le nom du fichier .mdf par un nom qui n’a jamais été utilisé comme nom de base de données et modifiez le fichier Web.config pour utiliser le nouveau nom. Vous pouvez également utiliser SQL Server Management Studio Express pour supprimer des bases de données SQL Server Express existantes.

Impossible de vérifier la compatibilité du modèle

Scénario

Vous avez mis à jour la chaîne de connexion de fichier Web.config pour pointer vers une nouvelle base de données SQL Server Express, et la première fois que vous exécutez l’application, le message d’erreur suivant s’affiche :

Model compatibility cannot be checked because the database does not contain model metadata. 
Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions.

Cause et solution possibles

Si le nom de base de données que vous avez placé dans le fichier Web.config a déjà été utilisé sur votre ordinateur, il se peut qu’une base de données existe déjà avec certaines tables. Sélectionnez un nouveau nom qui n’a pas été utilisé sur votre ordinateur auparavant et modifiez le fichier Web.configpour qu’il pointe pour utiliser ce nouveau nom de base de données. Vous pouvez également utiliser SQL Server Management Studio Express pour supprimer la base de données existante.

Erreur SQL lorsqu’un script tente de créer des utilisateurs ou des rôles

Scénario

Vous utilisez le déploiement de base de données configuré sous l’onglet Package/Publier SQL , les scripts SQL qui s’exécutent pendant le déploiement incluent des commandes Créer un utilisateur ou Créer un rôle, et l’exécution du script échoue lorsque ces commandes sont exécutées. Vous pouvez voir des messages plus détaillés, tels que les suivants :

The approximate location of the error was between lines '1' and '3' of the script. 
The verbose log may have more information about the error. The command started with:
CREATE USER [user2] FOR LOGIN [user2] WITH DEFAULT
Error: User does not have permission to perform this action.

Si cette erreur se produit lorsque vous avez configuré le déploiement de base de données dans l’Assistant Publier le web plutôt que dans l’onglet Package/Publier SQL , créez un thread dans le forum Configuration et déploiement , et la solution sera ajoutée à cette page de résolution des problèmes.

Cause et solution possibles

Le compte d’utilisateur que vous utilisez pour effectuer un déploiement n’est pas autorisé à créer des utilisateurs ou des rôles. Par exemple, la société d’hébergement peut attribuer les db_datareaderrôles , db_datawriteret db_ddladmin au compte d’utilisateur qu’elle configure pour vous. Ils sont suffisants pour créer la plupart des objets de base de données, mais pas pour créer des utilisateurs ou des rôles. Une façon d’éviter l’erreur consiste à exclure les utilisateurs et les rôles du déploiement de base de données. Pour ce faire, modifiez l’élément PreSource du script généré automatiquement de la base de données afin qu’il inclue les attributs suivants :

CopyAllUsers=false, CopyAllRoles=false

Pour plus d’informations sur la modification de l’élément PreSource dans le fichier projet, consultez Guide pratique pour modifier les paramètres de déploiement dans le fichier projet. Si les utilisateurs ou les rôles de votre base de données de développement doivent se trouver dans la base de données de destination, contactez votre fournisseur d’hébergement pour obtenir de l’aide.

SQL Server erreur de délai d’attente lors de l’exécution de scripts personnalisés pendant le déploiement

Scénario

Vous avez spécifié des scripts SQL personnalisés à exécuter pendant le déploiement, et lorsque Web Deploy les exécute, ils expirent.

Cause et solution possibles

L’exécution de plusieurs scripts avec différents modes de transaction peut entraîner des erreurs de délai d’attente. Par défaut, les scripts générés automatiquement s’exécutent dans une transaction, mais pas les scripts personnalisés. Si vous sélectionnez l’option Extraire des données et/ou un schéma à partir d’une base de données existante sous l’onglet Package/Publier SQL , et si vous ajoutez un script SQL personnalisé, vous devez modifier les paramètres de transaction sur certains scripts afin que tous les scripts utilisent les mêmes paramètres de transaction. Pour plus d’informations, consultez Guide pratique pour déployer une base de données avec un projet d’application web.

Si vous avez configuré les paramètres de transaction de sorte que tous soient identiques, mais qu’ils obtiennent toujours cette erreur, une solution de contournement possible consiste à exécuter les scripts séparément. Dans la grille Scripts de base de données de l’onglet Package/Publier SQL, désactivez la zone Inclure case activée pour le script qui provoque l’erreur de délai d’expiration, puis publiez le projet. Revenez ensuite dans la grille Scripts de base de données, sélectionnez la zone Inclure case activée de ce script, puis désactivez les zones Inclure case activée pour les autres scripts. Ensuite, publiez à nouveau le projet. Cette fois, lorsque vous publiez, seul le script personnalisé sélectionné s’exécute.

Les données de flux du manifeste de site ne sont pas encore disponibles

Scénario

Lorsque vous installez un package à l’aide du fichier deploy.cmd avec l’option t (test), le message d’erreur suivant s’affiche :

Error: The stream data of 'sitemanifest/dbFullSql[@path='C:\TEMP\AdventureWorksGrant.sql']/sqlScript' is not yet available.

Cause et solution possibles

Le message d’erreur signifie que la commande ne peut pas produire de rapport de test. Toutefois, la commande peut s’exécuter si vous utilisez l’option y (installation réelle). Le message indique uniquement qu’il existe un problème lors de l’exécution de la commande en mode test.

Cette application nécessite ManagedRuntimeVersion v4.0

Scénario

Lorsque vous tentez de déployer, le message d’erreur suivant s’affiche :

Erreur : les données de flux de « sitemanifest/dbFullSql[@path='C:\TEMP\AdventureWorksGrant.sql']/sqlScript' ne sont pas encore disponibles. Le pool d’applications que vous essayez d’utiliser a la propriété « managedRuntimeVersion » définie sur « v2.0 ». Cette application nécessite « v4.0 ».

Cause et solution possibles

ASP.NET 4 n’est pas installé dans IIS. Si le serveur sur lequel vous déployez est votre ordinateur de développement et que Visual Studio 2010 est installé sur celui-ci, ASP.NET 4 est installé sur l’ordinateur, mais ne l’est peut-être pas dans IIS. Sur le serveur sur lequel vous effectuez le déploiement, ouvrez une invite de commandes avec élévation de privilèges et installez ASP.NET 4 dans IIS en exécutant les commandes suivantes :

cd %windir%\Microsoft.NET\Framework\v4.0.30319
aspnet_regiis.exe –i

Impossible de caster Microsoft.Web.Deployment.DeploymentProviderOptions

Scénario

Lorsque vous déployez un package, le message d’erreur suivant s’affiche :

Unable to cast object of type 'Microsoft.Web.Deployment.DeploymentProviderOptions' to 'Microsoft.Web.Deployment.DeploymentProviderOptions'.

Cause et solution possibles

Vous essayez de déployer à partir du Gestionnaire des services Internet à l’aide de l’interface utilisateur Web Deploy 1.1 sur un serveur sur lequel Web Deploy 2.0 est installé. Si vous utilisez l’outil d’administration à distance IIS pour effectuer un déploiement en important un package, case activée la boîte de dialogue Nouvelles fonctionnalités disponibles lorsque vous établissez la connexion. (Cette boîte de dialogue ne peut s’afficher qu’une seule fois lorsque la connexion est établie pour la première fois. Pour effacer la connexion et recommencer, fermez le Gestionnaire des services Internet et recommencez-le en entrant inetmgr /reset à l’invite de commandes.) Si l’une des fonctionnalités répertoriées est l’interface utilisateur Web Deploy et qu’elle a un numéro de version inférieur à 8, le serveur sur lequel vous déployez peut avoir des versions 1.1 et 2.0 de Web Deploy installées. Pour déployer à partir d’un client sur lequel la version 2.0 est installée, le serveur ne doit avoir installé que Web Deploy 2.0. Vous devrez contacter votre fournisseur d’hébergement pour résoudre ce problème.

Impossible de charger les composants natifs de SQL Server Compact

Scénario

Lorsque vous exécutez le site déployé, le message d’erreur suivant s’affiche :

Unable to load the native components of SQL Server Compact corresponding to the ADO.NET provider of version 8482. 
Install the correct version of SQL Server Compact. Refer to KB article 974247 for more details.

Cause et solution possibles

Le site déployé n’a pas de sous-dossiers amd64 et x86 avec les assemblys natifs dans ceux-ci sous le dossier bin de l’application. Sur un ordinateur sur lequel SQL Server Compact installé, les assemblys natifs se trouvent dans C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Private. La meilleure façon d’obtenir les fichiers corrects dans les dossiers appropriés dans un projet Visual Studio consiste à installer le package NuGet SqlServerCompact. L’installation de package ajoute un script post-build pour copier les assemblys natifs dans amd64 et x86. Toutefois, pour que ces éléments soient déployés, vous devez les inclure manuellement dans le projet. Pour plus d’informations, consultez le tutoriel Déploiement SQL Server Compact.

Erreur « Le chemin d’accès n’est pas valide » après le déploiement d’une application Entity Framework Code First

Scénario

Vous déployez une application qui utilise Migrations Entity Framework Code First et un SGBD tel que SQL Server Compact qui stocke sa base de données dans un fichier dans le dossier App_Data. Vous avez Migrations Code First configuré pour créer la base de données après votre premier déploiement. Lorsque vous exécutez l’application, vous obtenez un message d’erreur semblable à l’exemple suivant :

The path is not valid. Check the directory for the database. [Path = c:\inetpub\wwwroot\App_Data\DatabaseName.sdf ]

Cause et solution possibles

Code First tente de créer la base de données, mais le dossier App_Data n’existe pas. Soit vous n’aviez aucun fichier dans le dossier App_Data lors du déploiement, soit vous avez sélectionné Exclure App_Data sous l’onglet Package/Publier le web de la fenêtre Propriétés du projet . Le processus de déploiement ne crée pas de dossier sur le serveur s’il n’y a aucun fichier dans le dossier à copier sur le serveur. Si vous avez déjà configuré la base de données sur le site, le processus de déploiement supprimera les fichiers et le dossier App_Data lui-même si vous avez sélectionné Supprimer des fichiers supplémentaires à destination dans le profil de publication. Pour résoudre le problème, placez un fichier d’espace réservé tel qu’un fichier .txt dans le dossier App_Data , assurez-vous que vous n’avez pas sélectionné Exclure App_Data , puis redéployez-le.

« L’objet COM qui a été séparé de son RCW sous-jacent ne peut pas être utilisé. »

Scénario

Vous avez utilisé la publication en un clic pour déployer votre application, puis vous commencez à obtenir cette erreur :

Web deployment task failed. (Could not complete the request to remote agent URL 'https://serverurl.com/msdeploy.axd?site=sitename'.)
Could not complete the request to remote agent URL 'https://url/msdeploy.axd?site=sitename'.
The request was aborted: The request was canceled.
COM object that has been separated from its underlying RCW cannot be used.

Cause et solution possibles

La fermeture et le redémarrage de Visual Studio sont généralement tout ce qui est nécessaire pour résoudre cette erreur.

Le déploiement échoue, car les informations d’identification utilisateur utilisées pour la publication n’ont pas d’autorité setACL

Scénario

La publication échoue avec une erreur indiquant que vous n’avez pas l’autorité pour définir les autorisations de dossier (le compte d’utilisateur que vous utilisez n’a pas l’autorité setACL).

Cause et solution possibles

Par défaut, Visual Studio définit les autorisations de lecture sur le dossier racine du site et les autorisations d’écriture sur le dossier App_Data. Si vous savez que les autorisations par défaut sur les dossiers de site sont correctes et n’ont pas besoin d’être définies, vous pouvez désactiver ce comportement en ajoutant <IncludeSetACLProviderOn Destination>False</IncludeSetLProviderOnDestination> au fichier de profil de publication (pour affecter un profil unique) ou au fichier wpp.targets (pour affecter tous les profils). Pour plus d’informations sur la modification de ces fichiers, consultez Guide pratique pour modifier les paramètres de déploiement dans les fichiers de profil (.pubxml).

Erreurs d’accès refusé lorsque l’application tente d’écrire dans un dossier d’application

Scénario

Votre application effectue des erreurs lorsqu’elle tente de créer ou de modifier un fichier dans l’un des dossiers d’application, car elle n’a pas d’autorité d’écriture pour ce dossier.

Cause et solution possibles

Par défaut, Visual Studio définit les autorisations de lecture sur le dossier racine du site et les autorisations d’écriture sur le dossier App_Data. Si votre application a besoin d’un accès en écriture à un sous-dossier, vous pouvez définir des autorisations pour ce dossier, comme indiqué dans les didacticiels Définition des autorisations de dossier et Déploiement dans l’environnement de production . Si votre application a besoin d’un accès en écriture au dossier racine du site, vous devez l’empêcher de définir l’accès en lecture seule sur le dossier racine en ajoutant <IncludeSetACLProviderOn Destination>False</IncludeSetACLProviderOnDestination> au fichier de profil de publication (pour affecter un profil unique) ou au fichier wpp.targets (pour affecter tous les profils). Pour plus d’informations sur la modification de ces fichiers, consultez Guide pratique pour modifier les paramètres de déploiement dans les fichiers de profil (.pubxml).

Erreur de configuration : l’attribut targetFramework fait référence à une version ultérieure à la version installée du .NET Framework

Scénario

Vous avez correctement publié un projet web qui cible ASP.NET 4.5, mais lorsque vous exécutez l’application (avec le customErrors mode défini sur « désactivé » dans le fichier Web.config), vous obtenez l’erreur suivante :

The 'targetFramework' attribute in the <compilation> element of the Web.config 
file is used only to target version 4.0 and later of the .NET Framework (for 
example, '<compilation targetFramework="4.0">'). The 'targetFramework' attribute 
currently references a version that is later than the installed version of the 
.NET Framework. Specify a valid target version of the .NET Framework, or install 
the required version of the .NET Framework.

La zone Erreur source de la page d’erreur met en évidence la ligne suivante de Web.config comme cause de l’erreur :

<compilation targetFramework="4.5" />

Cause et solution possibles

Le serveur ne prend pas en charge ASP.NET 4.5. Contactez le fournisseur d’hébergement pour déterminer quand et si la prise en charge de ASP.NET 4.5 peut être ajoutée. Si la mise à niveau du serveur n’est pas une option, vous devez déployer un projet web qui cible ASP.NET 4 ou une version antérieure à la place. Si vous déployez un projet web ASP.NET 4 ou antérieur dans la même destination, sélectionnez la zone Supprimer des fichiers supplémentaires à l’case activée de destination sous l’onglet Paramètres de l’Assistant Publier le web. Si vous ne sélectionnez pas Supprimer des fichiers supplémentaires à destination, vous continuez à obtenir la page Erreur de configuration.

Les fenêtres Propriétés du projet incluent une liste déroulante Framework cible, mais vous ne pouvez pas résoudre ce problème en remplaçant simplement .NET Framework 4.5 en .NET Framework 4. Si vous remplacez l’infrastructure cible par une version antérieure de l’infrastructure, le projet aura toujours des références aux assemblys de la version de framework ultérieure et ne s’exécutera pas. Vous devez modifier manuellement ces références ou créer un projet qui cible .NET Framework 4 ou version antérieure. Pour plus d’informations, consultez Ciblage .NET Framework pour les sites web.