Le message indique que votre fichier de configuration est corrompu d'une manière ou d'une autre. Cependant, il indique également qu'il ne peut pas réellement accéder au fichier de configuration. J'ignorerais donc le message d'origine sur la corruption / le manque de validité car il s'agit très probablement de l'effet de ne pas pouvoir lire le fichier en raison d'un manque d'autorisation.
La raison pour laquelle il ne peut pas lire le fichier de configuration est que le processus exécutant votre application Web n'est pas autorisé à accéder au fichier / répertoire. Vous devez donc donner au processus exécutant votre application Web ces autorisations.
Les droits d'accès doivent être assez simples, c'est-à-dire au moins en lecture et, selon votre application, en écriture .
Ci-dessus, vous mentionnez que l' IUSR, etc. ne fait pas partie des propriétés de web.config
. Si vous entendez par là que l' IUSR n'est pas répertorié dans l'onglet de sécurité du fichier, c'est une bonne chose. On ne veut pas donner à IUSR une quelconque autorisation sur web.config . Le rôle IUSR est un utilisateur Internet anonyme.
Le fichier web.config doit seulement être accessible par votre application.
Le problème est que vous n'avez pas dit quelle version de système d'exploitation et IIS vous utilisez, il est donc difficile de conseiller les étapes à suivre.
C'est-à-dire dans IIS 7.5, le message d'erreur que vous citez est susceptible de se produire car votre ApplicationPoolIdentity ne se voit pas attribuer les autorisations. Votre application Web appartient à un pool d'applications et vous devez donc accorder les autorisations au compte de système d'exploitation sous lequel le pool d'applications de votre application Web s'exécute. Il s'agit souvent de quelque chose comme NetworkService, mais vous pouvez l'avoir personnalisé pour qu'il s'exécute sous un compte spécialement conçu. Sans plus d'informations, il est difficile de vous aider.
Web.config
ACL du fichier étaient différentes des autres fichiers du répertoire et qu'il n'héritait pas de son parent . J'ai activé l'héritage ACL et tout est revenu à la normale.