Pregunta

Este debe estar bien viendo como el CLR no ha cambiado en realidad?

Los cuadros de ejecución de C# 2.0 el código han había .NET 3.5 salió.

El fondo es que tenemos un servicio de windows (.NET 2.0 exe construido con VS2005, implementado a ~150 servidores) que se carga dinámicamente asambleas (casi como plugins) para completar los diversos elementos de trabajo le pide.Cuando ponemos en marcha una nueva versión del autobús de la lógica, que acaba de soltar las asambleas en un servidor FTP y el servicio de windows sabe cómo buscar, capturar y almacenar las últimas versiones.Nuevas asambleas se construyen actualmente el uso de VS2008 y dirigidos .NET 2.0, sabemos que funciona bien.Sin embargo, nos gustaría empezar a tomar ventaja de C# 3.0 características del lenguaje como LINQ y dirigidos a las asambleas contra .NET 3.5 sin tener que construir y desplegar una nueva versión del servicio de windows.

¿Fue útil?

Solución

C#3 y .Net 3.5 añade nuevas asambleas, pero el IL es sin cambios.

Esto significa que con .Net 2 asambleas, puede compilar y utilizar C#3, siempre y cuando usted no usa Linq o cualquier otra cosa que las referencias del Sistema.Linq o Sistema.Core

yield, var, lambda sintaxis, anon y tipos de inicializadores son todos compilador de inteligencia.La IL que producen es de la cruz-compatible.

Si puede hacer referencia a la nueva asambleas de 3,5 todo debe funcionar.

No hay ninguna nueva versión de ASP.Net - todavía debe ser 2.0.50727 - pero debe de compilar para 3.5

Otros consejos

rendimiento, var, lambda sintaxis, tipos de anon y inicializadores son todos compilador el ingenio.La IL que producen es cruz-compatible.

Menor nit-picking punto, pero el rendimiento fue de 2.0 característica de todos modos.

Esto es interesante.Yo estaba mirando LinqBridge ayer, después de que alguien en este foro sugerido a mí y que están haciendo una cosa similar.

Me resulta extraño que Microsoft denomina los marcos 2.0, 3.0 y 3.5, cuando todos compilar hacia abajo para producir la misma IL requerido por el CLR 2.0.Yo habría pensado que la adición de versiones en 2.0 tendría más sentido aunque supongo que también es difícil conseguir que la gente a conseguir su cabeza alrededor del hecho de que hay diferentes versiones de tiempos de ejecución, los compiladores y lenguajes.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top