J'essaie de créer une application Web à l'aide de Visual Studio 2015 et .NET 4.5.1 . Lorsque je publie le site Web, visual studio crée un dossier nommé roslyn
.
Je sais que c'est utilisé pour compiler le code à la volée, mais malheureusement, mon fournisseur d'hébergement ne me permet pas d'exécuter le compilateur sur leur serveur.
Comment publier le site Web sans roslyn
comme la version précédente de Visual Studio?
EDIT: J'ai eu cette erreur en essayant d’accéder à mon site web.
Il semble que IIS essaie d'exécuter roslyn\csc.exe
mais mon compte d'utilisateur n'est pas autorisé à le faire. Avec la version précédente de Visual Studio, cette erreur ne s'affiche pas.
Je viens de faire face au même problème. Lorsque vous créez un nouveau projet Web, deux packages de nugets sont automatiquement ajoutés à votre projet. Si vous les supprimez, votre problème devrait être résolu. Les noms de package sont: " Microsoft.CodeDom.Providers.DotNetCompilerPlatform " et " Microsoft.Net.Compilers ".
J'ai eu le même problème. Suit les étapes de ici . Fondamentalement:
Désinstaller le paquet
Uninstall-package Microsoft.CodeDom.Providers.DotNetCompilerPlatform <Your Web API project name>
Dans les paramètres de votre profil de publication, décochez "Autoriser la mise à jour du site précompilé". Vous pouvez le trouver sous Paramètres> Précompiler lors de la publication> configurer
Après d'innombrables efforts .... et d'après ce site Web . Je trouve que vous pouvez utiliser /p:UseWPP_CopyWebApplication=true /p:PipelineDependsOnBuild=false
dans MSBuild pour transformer web.config, ceci inclut également le compilateur Roslyn dans la construction. Le résultat est identique à celui obtenu en publiant dans Visual Studio dans le système de fichiers.
Il existe un open bug sur le référentiel roslyn concernant ce problème.
Dans mon cas, tout ce que je devais faire était de rétrograder la DLL Microsoft.CodeDom.Providers.DotNetCompilerPlatform
de la version 1.0.6
à 1.0.5
.
Après avoir recherché le même problème que je suis face à face, je suis juste venu ici. J'ai lu la réponse ci-dessus qui est juste.
Je donne la réponse, à cause de Ici est le bon article pour expliquer:
Ceci est également le très bon article, sur l'histoire de cet exe
J'ai eu le même problème en septembre 2016 lorsque j'ai repris un programme ASP.NET existant. J'ai constaté qu'il y avait plusieurs versions des deux packages de compilateur mentionnés par Kemal installées dans différents projets de la solution.
Donc, premièrement, j'ai mis à jour pour obtenir les mêmes. VS ne vous dit pas que les mises à jour sont disponibles dans ce scénario (ou peut-être que je les ai ratées?)
J'ai ensuite dû redémarrer VS2015 pour que les paquets soient correctement nettoyés.