Будьте уважні, дотримуючись порад цієї відповіді. Незважаючи на те, що вона вирішує проблему, вона може пізніше спричинити різні проблеми.
У мене така ж проблема. Мабуть, компілятор .NET не завантажувався в GAC
. Що я зробив для її вирішення:
Спочатку в консолі диспетчера пакунків:
PM> Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Тепер чомусь приємні панове в Microsoft вирішили не встановлювати його в GAC для нас. Це можна зробити вручну, відкривши командний рядок Developer і ввівши:
gacutil -i "C:\*PATH TO YOUR APP CODE*\bin\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll"
Висновок
Майкрософт намагається заохотити всіх робити все з нагетами, які могли б бути нормальними без випадкових помилок, з якими ви стикаєтесь з системою nuget. Спробуйте використати один і той же проект на різних рішеннях, випадково (або ні) оновіть один із безлічі цілей, які він використовує на одному з них, і якщо вам не пощастить, ви побачите, що я маю на увазі, коли ви намагаєтеся побудувати інше рішення. З іншого боку, розміщення файлів у GAC також може спричинити майбутні проблеми, оскільки люди, як правило, забувають, що вони туди поміщають, а потім при створенні нових середовищ забувають включати ці файли. Ще одне можливе рішення - помістити файли в центральну папку для сторонніх dll (навіть якщо дивно називати компілятор сторонньою стороною), що створює проблеми зі зламаними посиланнями під час налаштування нових середовищ. Якщо ви вирішили встановити dll в GAC, будьте обережні і пам’ятайте, що ви це зробили. Якщо ви цього не зробите, завантажте нут для кожного проекту ще раз і переносьте всі дратівливі помилки, викликані ним (принаймні, колись це траплялося, коли я, нарешті, захворів і просто помістив файли в GAC). Обидва підходи можуть створити головні болі та створити проблеми, це лише питання, з якими проблемами ви хочете мати справу. Microsoft рекомендує використовувати систему nuget, і, як правило, краще слухати їх, ніж до невідомого програміста в SO, якщо ви зовсім не хворієте на логістичну систему і не працювали з GAC досить довго, щоб вона була кращою альтернативою для вас. завантажуйте нут для кожного проекту ще раз і несуть усі набридливі помилки, викликані ним (принаймні, це бувало, коли я, нарешті, захворів на нього і просто помістив файли в GAC). Обидва підходи можуть створити головні болі та створити проблеми, це лише питання, з якими проблемами ви хочете мати справу. Microsoft рекомендує використовувати систему nuget, і, як правило, краще слухати їх, ніж невідомий програміст в SO, якщо ви зовсім не хворієте на логістичну систему і не працювали з GAC досить довго, щоб вона була кращою альтернативою для вас. завантажуйте нут для кожного проекту ще раз і несуть усі набридливі помилки, викликані ним (принаймні, це бувало, коли я, нарешті, захворів на нього і просто помістив файли в GAC). Обидва підходи можуть створити головні болі та створити проблеми, це лише питання, з якими проблемами ви хочете мати справу. Microsoft рекомендує використовувати систему nuget, і, як правило, краще слухати їх, ніж невідомий програміст в SO, якщо ви зовсім не хворієте на логістичну систему і не працювали з GAC досить довго, щоб вона була кращою альтернативою для вас.