이 답변의 조언을 따르십시오. 문제를 해결하는 동안 나중에 다른 문제가 발생할 수 있습니다.
나는 같은 문제를 겪었다. 분명히 .NET 컴파일러가에로드되지 않았습니다 GAC
. 내가 그것을 해결하기 위해 한 것은 다음과 같습니다.
먼저 패키지 관리자 콘솔에서 다음을 입력하십시오.
PM> Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
이제 어떤 이유로 Microsoft의 훌륭한 신사들이 GAC에 설치하지 않기로 결정했습니다. 개발자 명령 프롬프트를 열고 다음을 입력하여 수동으로 수행 할 수 있습니다.
gacutil -i "C:\*PATH TO YOUR APP CODE*\bin\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll"
결론
Microsoft는 모든 사용자가 너겟 시스템으로 인해 가끔 버그가 발생하지 않아도 괜찮은 너겟으로 모든 작업을 수행하도록 권장합니다. 다른 솔루션에서 동일한 프로젝트를 사용하거나 실수로 그중 하나에서 사용하는 많은 너겟 중 하나를 업데이트하십시오. 운이 좋지 않은 경우 다른 솔루션을 빌드하려고 할 때의 의미를 알 수 있습니다. 반면에, GAC에 파일을 넣는 것은 사람들이 자신이 넣은 것을 잊어 버리고 새로운 환경을 설정할 때 이러한 파일을 포함하는 것을 잊어 버리기 때문에 미래의 문제를 야기 할 수 있습니다. 또 다른 가능한 해결책은 파일을 타사 dll의 중앙 폴더에 저장하는 것입니다 (컴파일러 타사를 호출하는 것이 이상하더라도). 새로운 환경을 설정할 때 깨진 참조의 문제가 발생합니다. dll을 GAC에 설치하기로 결정한 경우 주의를 기울이고 그렇게했음을 기억하십시오. 그렇지 않다면 각 프로젝트에 대한 너겟을 다시 다운로드하고 그로 인한 모든 성가신 버그를 가두십시오 (적어도 결국 아프고 GAC에 파일을 넣을 때 발생했습니다). 두 가지 방법 모두 두통을 유발하고 문제를 일으킬 수 있습니다. 이는 어떤 문제를 다루기를 선호하는지에 대한 문제 일뿐입니다. 너겟 시스템을 사용하는 것이 좋으며, 너겟 시스템이 완전히 아프거나 더 나은 대안이 될만큼 오랫동안 GAC를 다루지 않는 한 일반적으로 SO의 알 수없는 프로그래머보다 듣는 것이 좋습니다. 당신을 위해. 각 프로젝트에 대한 너겟을 다시 다운로드하고 그로 인한 모든 성가신 버그를 가두십시오 (적어도 결국 아프고 GAC에 파일을 넣을 때 발생했습니다). 두 가지 방법 모두 두통을 유발하고 문제를 일으킬 수 있습니다. 이는 어떤 문제를 다루기를 선호하는지에 대한 문제 일뿐입니다. 너겟 시스템을 사용하는 것이 좋으며, 너겟 시스템이 완전히 아프거나 더 나은 대안이 될 수있을 정도로 오랫동안 GAC를 다루지 않는 한 일반적으로 SO의 알 수없는 프로그래머보다 듣는 것이 좋습니다. 당신을 위해. 각 프로젝트에 대한 너겟을 다시 다운로드하고 그로 인한 모든 성가신 버그를 가두십시오 (적어도 결국 아프고 GAC에 파일을 넣을 때 발생했습니다). 두 가지 방법 모두 두통을 유발하고 문제를 일으킬 수 있습니다. 이는 어떤 문제를 다루기를 선호하는지에 대한 문제 일뿐입니다. 너겟 시스템을 사용하는 것이 좋으며, 너겟 시스템이 완전히 아프거나 더 나은 대안이 될 수있을 정도로 오랫동안 GAC를 다루지 않는 한 일반적으로 SO의 알 수없는 프로그래머보다 듣는 것이 좋습니다. 당신을 위해.