Faites attention de suivre les conseils de cette réponse. Bien que cela résout le problème en question, cela peut entraîner des problèmes différents à une date ultérieure.
J'ai le même problème. Apparemment, le compilateur .NET n'a pas été chargé dans le GAC
. Ce que j'ai fait pour le résoudre était:
Tout d'abord, dans le type de console du gestionnaire de packages:
PM> Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Maintenant, pour une raison quelconque, les gentils messieurs de Microsoft ont décidé de ne pas l'installer sur le GAC pour nous. Vous pouvez le faire manuellement en ouvrant l'invite de commande du développeur et en tapant:
gacutil -i "C:\*PATH TO YOUR APP CODE*\bin\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll"
Conclusion
Microsoft essaie d'encourager tout le monde à tout faire avec des nugets, ce qui pourrait bien fonctionner sans les bogues occasionnels que vous rencontrez avec le système nuget. Essayez d'utiliser le même projet sur différentes solutions, mettez à jour accidentellement (ou non) l'une des nombreuses pépites qu'il utilise sur l'une d'entre elles, et si vous n'êtes pas chanceux, vous verrez ce que je veux dire lorsque vous essayez de construire l'autre solution. D'un autre côté, placer des fichiers dans le GAC peut également causer des problèmes futurs, car les gens ont tendance à oublier ce qu'ils y mettent et, lors de la configuration de nouveaux environnements, ils oublient d'inclure ces fichiers. Une autre solution possible est de placer les fichiers dans un dossier central pour les DLL tierces (même s'il est étrange d'appeler le compilateur tiers), ce qui crée des problèmes de références brisées lors de la configuration de nouveaux environnements. Si vous décidez d'installer la dll sur le GAC, soyez prudent et rappelez-vous que vous l'avez fait. Si vous ne le faites pas, téléchargez à nouveau le nuget pour chaque projet et supportez tous les bugs gênants causés par celui-ci (du moins, cela se produisait lorsque j'en avais enfin marre et que je plaçais les fichiers dans le GAC). Les deux approches peuvent vous donner des maux de tête et créer des problèmes, c'est juste une question de savoir quels problèmes vous préférez traiter. Microsoft recommande d'utiliser le système nuget, et généralement, il est préférable de les écouter que d'un programmeur inconnu dans SO, à moins que vous ne soyez complètement malade du système nuget et que vous ayez l'habitude de traiter avec le GAC assez longtemps pour que ce soit une meilleure alternative pour vous. téléchargez à nouveau le nuget pour chaque projet et supportez tous les bugs gênants causés par celui-ci (du moins, cela se produisait lorsque j'en avais enfin marre et que je plaçais les fichiers dans le GAC). Les deux approches peuvent vous donner des maux de tête et créer des problèmes, c'est juste une question de savoir quels problèmes vous préférez traiter. Microsoft recommande d'utiliser le système nuget, et généralement, il est préférable de les écouter que d'un programmeur inconnu dans SO, à moins que vous ne soyez complètement malade du système nuget et que vous ayez l'habitude de traiter avec le GAC assez longtemps pour que ce soit une meilleure alternative pour vous. téléchargez à nouveau le nuget pour chaque projet et supportez tous les bugs gênants causés par celui-ci (du moins, cela se produisait lorsque j'en avais enfin marre et que je plaçais les fichiers dans le GAC). Les deux approches peuvent vous donner des maux de tête et créer des problèmes, c'est juste une question de savoir quels problèmes vous préférez traiter. Microsoft recommande d'utiliser le système nuget, et généralement, il est préférable de les écouter que d'un programmeur inconnu dans SO, à moins que vous ne soyez complètement malade du système nuget et que vous ayez l'habitude de traiter avec le GAC assez longtemps pour que ce soit une meilleure alternative pour vous.