Was / warum wird Roslyn im / bin-Ordner von Asp.Net "benötigt"?

Es gibt ein paar verwandte Fragen auf diese, obwohl die meisten Antwortendefiniere Roslyn und / oder eine "Lösung" für ein Problem exe, mit Hostinganbietern usw.)

Was ich nicht aufspüren kann, ist das "Warum" und "Wofür" (möglicherweise nur im Kontext von ASP.Net MVC / Web API) in/bin/roslyn.

Ich bin auf ähnliche Probleme gestoßen (Hosting -.exe Einschränkungen, Unterstützung für4.6, etc.) und mein "Update" war auf "Nur in Azure bereitstellen" (natürlich funktioniert alles reibungslos). Aber wirklich, das antwortet nicht:

warum werden sie gebraucht? Bedeutet dies, dass die sie für @ verwendet werdruntime compilation (mein Gehirn zeigt darauf, aber das ist eine vollständige Vermutung / mein vielleicht falscher Grund), alsdieser SO Beitrag zeigt - sofern nicht korrigiert, ist dies "es" (weiter unten). Es scheint, dass "Entfernen des Pakets" eine "Korrektur" ist (basierend auf einigen früheren Antworten), aber wenn ja, wirft es (erneut) die Frage auf

Meiner Ansicht nachVerstehe das wird helfen - z.B. Ich kann nicht der einzige sein, der eine hochgezogene Augenbraue hat und ein @ sie.exe "erforderlich"...

Aktualisiere

Muss zeigen, dass "versteckte Edelsteine" existieren :) Ich habeles dies immer und immer wieder ... immerhin ist es jetzt schon eine Weile da - abernich der Kommentarthread. Großer Fehler - es hat mich die ganze Zeit angestarrt (oder zumindest seit diesem Austausch):

Dmitry Dzygin 2. Juni 2015 00:53

Ich habe die neueste Version des NuGet-Pakets ausprobiert, aber es scheint einen Unterschied in der Art und Weise zu geben, wie der Compiler geladen / ausgeführt wird.

In der v0.2.0.0 wurde der Roslyn-Compiler in den Speicher geladen, was die Leistung für nicht vorkompilierte Websites mit mehreren * .as * x / * .cshtml-Dateien erheblich verbessert. Die neue Version bietet jedoch ein neues/bin/roslyn/csc.exe Datei, die einmal pro Datei ausgeführt wird und die oben erwähnte Optimierungsfunktion vollständig entfernt .....

Gold

XMao 2. Juni 2015, 13:22 Uhr

@ Dmitry Der Job descsc.exe im/bin/Roslyn ist das @ aufzurufVBCSCompiler.exe, das sich im selben Ordner befindet.VBCSCompiler.exe ist der Prozess, der die eigentliche Kompilierungsarbeit ausführt. Wenn auf dem VBCSCompiler bereits csc.exe ausgeführt wird, wird es wiederverwendet, und wir werden trotzdem die erwähnte Leistungsverbesserung erzielen.

Hth ...

Update: 10/2017

Scheint, dass dies nach all der Zeit relevant ist, also ein weiteres Update.

Dasanswer below von @Donny V ist einMöglichkei. Durch die vollständige Kompilierung Ihrer Anwendung, einschließlich allViews (.cshtml/.vbhtml), das würdest du nicht brauchenexe in Ihrer Bewerbung.

Dies gilt auch dann, wenn Visual Studio (bis zum heutigen Tag, VS 2017, verwirrend)immer noc erstelle das/bin/roslyn und es ist Inhalt in derPublish Prozess,even wenn "full compile" gesetzt ist.

Sie können dies testen mitohn das/bin/roslyn -Ordner und dessen Inhalt, wenn Sie Ihre Anwendung an Ihren Hosting-Provider senden.

Vorbehal:

ie bereits erwähnt, bedeutet das vollständige Kompilieren Ihrer Anwendung, dass Sie sie erneut kompilieren müssen, auch fürView Ebenenwechsel.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage