Ich versuche, eine Webanwendung mit Visual Studio 2015 und .NET 4.5.1 zu erstellen .. Wenn ich die Website veröffentliche, erstellt Visual Studio einen Ordner mit dem Namen roslyn
.
Ich weiß, dass er verwendet wird, um Code schnell zu kompilieren, aber mein Hosting-Provider erlaubt es mir leider nicht, den Compiler auf seinem Server auszuführen.
Wie veröffentlichen Sie die Website ohne roslyn
wie in früheren Versionen von Visual Studio?
BEARBEITEN: Ich habe diese Fehlermeldung erhalten, als ich versuchte, auf meine Website zuzugreifen.
Es scheint, dass IIS versucht, roslyn\csc.exe
auszuführen, aber mein Benutzerkonto hat keine Berechtigung dazu. Bei einer früheren Version von Visual Studio wird dieser Fehler nicht angezeigt.
Ich habe gerade das gleiche Problem gehabt. Wenn Sie ein neues Webprojekt erstellen, werden Ihrem Projekt automatisch zwei Nuget-Pakete hinzugefügt. Wenn Sie sie entfernen, sollte Ihr Problem gelöst sein. Paketnamen sind: " Microsoft.CodeDom.Providers.DotNetCompilerPlatform " und " Microsoft.Net.Compilers ".
Ich hatte das gleiche Problem. Folge den Schritten von hier . Grundsätzlich gilt:
Deinstallieren Sie das Paket
Uninstall-package Microsoft.CodeDom.Providers.DotNetCompilerPlatform <Your Web API project name>
Deaktivieren Sie in den Veröffentlichungsprofileinstellungen die Option "Aktualisierbare vorkompilierte Site zulassen". Sie finden dies unter Einstellungen> Vorkompilieren während der Veröffentlichung> Konfigurieren
Nach unzähligen Anstrengungen .... und gemäß dieser Website . Ich finde, dass Sie /p:UseWPP_CopyWebApplication=true /p:PipelineDependsOnBuild=false
in MSBuild verwenden können, um web.config zu transformieren. Dazu gehört auch der roslyn-Compiler im Build. Die Ausgabe ist dieselbe wie bei der Veröffentlichung in Visual Studio im Dateisystem
Zu diesem Problem gibt es einen open Bug im Roslyn-Repository.
In meinem Fall musste ich nur die DLL Microsoft.CodeDom.Providers.DotNetCompilerPlatform
von Version 1.0.6
auf 1.0.5
herabstufen.
Nachdem ich das gleiche Gesicht gesucht hatte, kam ich einfach hierher. Ich habe die obige Antwort gelesen, die richtig ist.
Ich gebe die Antwort, wegen Hier ist der gute Artikel zu erklären:
Dies ist auch der sehr gute Artikel über die Geschichte dieses Exe
Ich hatte das gleiche Problem im September 2016, als ich ein vorhandenes ASP.NET-Programm übernahm. Ich habe festgestellt, dass mehrere Versionen der beiden von Kemal erwähnten Compiler-Pakete in verschiedenen Projekten der Lösung installiert waren.
Zuerst habe ich ein Update gemacht, um sie gleich zu erhalten. VS sagt Ihnen nicht, dass in diesem Szenario Updates verfügbar sind (oder habe ich sie vielleicht verpasst?)
Ich musste VS2015 dann neu starten, damit die Pakete ordnungsgemäß bereinigt wurden.