web-dev-qa-db-fra.com

Le type de fournisseur CodeDom "Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider ..." est introuvable.

J'ai publié mon site Web à l'aide de l'option de publication Visual Studio auprès de mon hôte.

mon hôte utilise asp.net 4.5.1 framework.

cela fonctionne bien en local mais après que je l'ai publié, il a donné cette erreur.

 enter image description here

mon dossier de solution visual studio local contient un dossier nommé packages et quelques fichiers. Est-il lié à une erreur?

Ceci est mon fichier de configuration (les autres lignes ont été omises pour des raisons de clarté):

 enter image description here

Je vous remercie.

14
user6013886

La version de l'assembly dans le dossier bin doit correspondre à la version indiquée dans la section compilers du fichier web.config

Cette erreur me arrive lorsque je mets à jour le dossier bin du serveur. Parce que le paquet Microsoft.CodeDom.Providers.DotNetCompilerPlatform a été mis à jour, je devais mettre à jour la section compilers de web.configtoo.

Cela peut être fait simplement en mettant à jour l'attribut de version dans l'exemple ci-dessous ou en remplaçant l'intégralité de la section par la version pour développeur.

<compilers>
  <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
  <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
</compilers>

Ne nécessite pas de redémarrage IIS.

9
ByteArtisan

Sélectionnez Projet> Propriétés .. dans l'onglet "Package/Publish Web" et dans la section "Éléments à déployer (s'applique à toutes les méthodes de déploiement)", puis sélectionnez "Tous les fichiers de ce dossier de projet" dans la liste déroulante, puis Publier votre application Web à nouveau,

Espoir utile. 

1
Alireza Zamani