Qué / por qué Roslyn es "necesaria" en la carpeta / bin de Asp.Net

Hay un montón depreguntas relacionadas en esto, aunque la mayoría de las respuestasdefinir Roslyn y / o proporcionar una "solución" a algún problema (exe, con proveedores de hosting, etc.)

Lo que parece que no puedo rastrear es el "por qué" y el "para qué" (quizás solo en el contexto de ASP.Net MVC / Web API) en/bin/roslyn.

Me encontré con problemas similares (hosting -.exe restricciones, soporte para4.6, etc.) y mi "solución" era"simplemente implementar en Azure" (Por supuesto, todo funciona sin problemas). Pero realmente, esto no responde:

¿Por qué son necesarios?¿Esto significa que se utilizan pararuntime Compilacion(mi cerebro señala esto, pero eso es una suposición completa / mi quizás equivocado grok), comoesta publicación SO muestra - a menos que se corrija, esto es "eso" (más abajo).parece que "eliminar el paquete" es una "solución"(basado en algunas respuestas pasadas), pero si es así, (re) plantea la pregunta

Yo creo quecomprensión esto ayudará, p. No puedo ser el único que levantará una ceja al ver un.exe "necesario"....

Actualizar

Muestra que existen "gemas ocultas" :)lee esto una y otra vez... después de todo, ha estado allí por algún tiempo, perono El hilo de comentarios. GRAN error: me estaba mirando todo este tiempo (o al menos desde este intercambio):

Dmitry Dzygin 2 de junio de 2015 12:53 a.m.

He probado la última versión del paquete NuGet, pero parece haber una diferencia en la forma en que se carga / ejecuta el compilador.

En la v0.2.0.0, el compilador de Roslyn se cargaría en la memoria, mejorando en gran medida el rendimiento para sitios web no precompilados con múltiples archivos * .as * x / *. Cshtml. La nueva versión, sin embargo, presenta una nueva/bin/roslyn/csc.exe archivo, que se ejecuta una vez por archivo, eliminando por completo la función de optimización mencionada anteriormente .....

Oro:

XMao 2 Jun 2015 1:22 PM

@Dmitry El trabajo de lacsc.exe en/bin/Roslyn es invocar elVBCSCompiler.exe, que se encuentra en la misma carpeta.VBCSCompiler.exe es el proceso que hace el trabajo de compilación real. Si el VBCSCompiler ya se está ejecutando, csc.exe lo reutilizará y, por lo tanto, aún obtendremos la mejora de rendimiento mencionada.

Hth ...

Actualización: 10/2017

Parece que esto es relevante después de todo este tiempo, así que una actualización adicional.

losresponde a continuación por @Donny V es unopción. Al compilar completamente su aplicación, incluidos todosViews (.cshtml/.vbhtml), no necesitarías esoexe en su solicitud

Esto es cierto incluso si Visual Studio (hasta el día de hoy, VS 2017, confusamente) lo harátodavía crear el/bin/roslyn y es contenido en elPublish proceso,incluso si se establece "compilación completa".

Puedes probar esto porExcluyendo el/bin/roslyn carpeta y su contenido al enviar su aplicación a su proveedor de alojamiento.

Consideración:

Como se mencionó, compilar completamente su aplicación significa que tendrá que volver a compilarla, incluso paraView Cambios de nivel.

Respuestas a la pregunta(4)

Su respuesta a la pregunta