Cuidado ao seguir os conselhos desta resposta. Embora resolva o problema em questão, pode causar problemas diferentes posteriormente.
Eu tenho o mesmo problema. Aparentemente, o compilador .NET não foi carregado no GAC
. O que eu fiz para resolver isso foi:
Primeiro, no console do gerenciador de pacotes, digite:
PM> Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Agora, por algum motivo, os bons cavalheiros da Microsoft decidiram não instalá-lo no GAC para nós. Você pode fazer isso manualmente, abrindo o prompt de comando do desenvolvedor e digitando:
gacutil -i "C:\*PATH TO YOUR APP CODE*\bin\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll"
Conclusão
A Microsoft tenta incentivar todos a fazer tudo com pepitas, o que pode ser bom sem os erros ocasionais nos quais você se depara com o sistema de pepitas. Tente usar o mesmo projeto em soluções diferentes, atualize acidentalmente (ou não) um dos muitos nugets que ele usa em um deles e, se você tiver azar, verá o que quero dizer quando tentar criar a outra solução. Por outro lado, colocar arquivos no GAC também pode causar problemas futuros, pois as pessoas tendem a esquecer o que colocam lá e, ao configurar novos ambientes, esquecem de incluir esses arquivos. Outra solução possível é colocar os arquivos em uma pasta central para DLLs de terceiros (mesmo que seja estranho chamar o compilador como terceiro), o que cria problemas de referências quebradas ao configurar novos ambientes. Se você decidir instalar a dll no GAC, tenha cuidado e lembre-se de que fez isso. Caso contrário, baixe o nuget de cada projeto novamente e aguarde todos os bugs irritantes causados por ele (pelo menos costumava acontecer quando eu finalmente me cansava dele e apenas colocava os arquivos no GAC). Ambas as abordagens podem causar dores de cabeça e criar problemas; é apenas uma questão de quais problemas você prefere lidar. A Microsoft recomenda usar o sistema de pepitas e, geralmente, é melhor ouvi-los do que um programador desconhecido no SO, a menos que você esteja completamente cansado do sistema de pepitas e que lide com o GAC por tempo suficiente para que seja uma alternativa melhor. para voce. faça o download do nuget de cada projeto novamente e suporte todos os bugs irritantes causados por ele (pelo menos costumava acontecer quando eu finalmente me cansava dele e apenas colocava os arquivos no GAC). Ambas as abordagens podem causar dores de cabeça e criar problemas; é apenas uma questão de quais problemas você prefere lidar. A Microsoft recomenda usar o sistema de pepitas e, geralmente, é melhor ouvi-los do que um programador desconhecido no SO, a menos que você esteja completamente cansado do sistema de pepitas e que lide com o GAC por tempo suficiente para que seja uma alternativa melhor. para voce. faça o download da pepita para cada projeto novamente e aguente todos os bugs irritantes causados por ela (pelo menos costumava acontecer quando eu finalmente me cansava e colocava os arquivos no GAC). Ambas as abordagens podem causar dores de cabeça e criar problemas; é apenas uma questão de quais problemas você prefere lidar. A Microsoft recomenda usar o sistema de pepitas e, geralmente, é melhor ouvi-los do que um programador desconhecido no SO, a menos que você esteja completamente cansado do sistema de pepitas e que lide com o GAC por tempo suficiente para que seja uma alternativa melhor. para voce.