Befolgen Sie die Anweisungen dieser Antwort. Während es das vorliegende Problem löst, kann es zu einem späteren Zeitpunkt andere Probleme verursachen.
Ich habe das gleiche Problem. Anscheinend wurde der .NET-Compiler nicht in den geladen GAC
. Was ich getan habe, um es zu lösen, war:
Geben Sie zunächst in der Paketmanager-Konsole Folgendes ein:
PM> Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Aus irgendeinem Grund haben die netten Herren von Microsoft beschlossen, es nicht für uns im GAC zu installieren. Sie können dies manuell tun, indem Sie die Eingabeaufforderung für Entwickler öffnen und Folgendes eingeben:
gacutil -i "C:\*PATH TO YOUR APP CODE*\bin\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll"
Fazit
Microsoft versucht, alle zu ermutigen, alles mit Nugets zu tun, was ohne die gelegentlichen Fehler, auf die Sie mit dem Nuget-System stoßen, in Ordnung sein könnte. Versuchen Sie, dasselbe Projekt für verschiedene Lösungen zu verwenden, und aktualisieren Sie versehentlich (oder nicht) eines der vielen Nugets, die für eines von ihnen verwendet werden. Wenn Sie Pech haben, werden Sie sehen, was ich meine, wenn Sie versuchen, die andere Lösung zu erstellen. Andererseits kann das Einfügen von Dateien in den GAC auch zukünftige Probleme verursachen, da die Benutzer häufig vergessen, was sie dort ablegen, und beim Einrichten neuer Umgebungen vergessen, diese Dateien einzuschließen. Eine andere mögliche Lösung besteht darin, die Dateien in einem zentralen Ordner für DLLs von Drittanbietern abzulegen (obwohl es seltsam ist, den Compiler als Drittanbieter aufzurufen), was beim Einrichten neuer Umgebungen zu Problemen mit fehlerhaften Referenzen führt. Wenn Sie die DLL auf dem GAC installieren möchten, Seien Sie vorsichtig und denken Sie daran, dass Sie dies getan haben. Wenn Sie dies nicht tun, laden Sie das Nuget für jedes Projekt erneut herunter und tragen Sie alle lästigen Fehler, die dadurch verursacht werden (zumindest früher, als ich es endlich satt hatte und die Dateien einfach in das GAC legte). Beide Ansätze können Kopfschmerzen verursachen und Probleme verursachen. Es ist nur eine Frage der Probleme, mit denen Sie sich am liebsten befassen. Microsoft empfiehlt, das Nuget-System zu verwenden. Im Allgemeinen ist es besser, sie anzuhören als einen unbekannten Programmierer in SO, es sei denn, Sie haben das Nuget-System vollständig satt und haben sich lange genug mit dem GAC befasst, damit es eine bessere Alternative darstellt für dich. Laden Sie das Nuget für jedes Projekt erneut herunter und tragen Sie alle lästigen Fehler, die dadurch verursacht werden (zumindest früher, als ich es endlich satt hatte und die Dateien einfach in das GAC legte). Beide Ansätze können Kopfschmerzen verursachen und Probleme verursachen. Es ist nur eine Frage der Probleme, mit denen Sie sich am liebsten befassen. Microsoft empfiehlt, das Nuget-System zu verwenden. Im Allgemeinen ist es besser, sie anzuhören als einen unbekannten Programmierer in SO, es sei denn, Sie haben das Nuget-System vollständig satt und haben sich lange genug mit dem GAC befasst, damit es eine bessere Alternative darstellt für dich. Laden Sie das Nuget für jedes Projekt erneut herunter und tragen Sie alle lästigen Fehler, die dadurch verursacht werden (zumindest früher, als ich es endlich satt hatte und die Dateien einfach in das GAC legte). Beide Ansätze können Kopfschmerzen verursachen und Probleme verursachen. Es ist nur eine Frage der Probleme, mit denen Sie sich am liebsten befassen. Microsoft empfiehlt, das Nuget-System zu verwenden. Im Allgemeinen ist es besser, sie anzuhören als einen unbekannten Programmierer in SO, es sei denn, Sie haben das Nuget-System vollständig satt und haben sich lange genug mit dem GAC befasst, damit es eine bessere Alternative darstellt für dich.