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:
runtime
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 preguntaYo creo quecomprensión esto ayudará, p. No puedo ser el único que levantará una ceja al ver un.exe
"necesario"....
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/2017Parece 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.