Se puede mezclar versiones de .NET Framework en una solución?
-
19-09-2019 - |
Pregunta
Nuestra base de código en la que trabajo es .NET 2.0. Para nuestras nuevas aplicaciones de montaje / DLL / web me gustaría aprovechar lo que tiene que ofrecer 3.5.
Puede uno mezclar NET marcos (por conjunto) en una solución de? ¿Hay IIS advertencias relacionadas con esto?
Me encantaría escuchar cualquier comentario positivo / negativo / howto. Avisadme!
Gracias!
Solución
Si usted puede hacer esto en Visual Studio y se llama Multi-Targeting .
Scott Guthrie tiene un gran blog-entrada en la Multi-Targeting soporte en Visual Studio .
VS 2008 fue la primera versión de Visual Studio que incluye soporte para .NET multi-diana. Esto significaba que se podía utilizar VS 2008 para crear y editar no sólo .NET 3.5 proyectos, sino también .NET 3.0 y .NET 2.0 proyectos también. Esta permitido a los desarrolladores a más rápidamente mejorar y aprovechar la nueva características de Visual Studio de herramientas - sin tener que requerir necesariamente la versión más reciente de .NET para ser instalado en los clientes y servidores de producción que ejecutan su aplicaciones.
Saludos
Otros consejos
Puede utilizar 2.0, 3.0 y 3.5 en conjunto de acuerdo a: http://msdn.microsoft.com/en- es / library / bb383796 (v = VS.90) .aspx
EDIT:. Estaba equivocado puede Se puede ir de referencia 3. + asambleas en 2.0, debido a que el CLR es el mismo. Esto no será el caso cuando se va de 2,0 / 3. + a 4,0 ya que hay una nueva versión del CLR.
http: //abdullin.com/how-to-use-net-35-syntax-and-compiler-features-for-net-20/
Si usted puede esperar a que el nuevo marco .NET 4.0, usted será capaz de ejecutar DLL para cada lado versión al lado del otro en el mismo proceso.
Esto no debería ser un problema. .NET 2.0 RTM a través de .NET 3.5 SP2 todos utilizan la misma versión exacta del CLR. Sólo se diferencian por el número de conjuntos que están incluidos. El formato de montaje es el mismo. Por supuesto, si lo hace tomar ventaja de un montaje que sólo se incluye con .NET 3.5, debe asegurarse de que 3.5 está instalada en la máquina objetivo. Usted se dará cuenta rápidamente si no lo es.
3.5 debería estar ya en la máquina si se ha habilitado Windows Update. Si no, se necesita una docena de minutos en llegar allí.
Como nota al margen, tenemos algunos viejos 1.0 bibliotecas que utilizamos en 2.0 y seguir utilizando en el punto 3.5, sin tener que recompilar. Así que hay un poco de la compatibilidad hacia atrás allí.
No se puede tener .NET 1.1 assmeblies que se ejecutan en el mismo proceso que un ensamblado de .NET 2.0 + -. Intentar hacerlo producirá un fallo
Con respecto a IIS, esto significa que no se puede tener .NET 1.1 Sitios / directorios virtuales que se ejecutan en el mismo grupo de aplicaciones como .Net 2.0 y por encima de sitios - que necesita para crear un grupo de aplicación separada para mantener el código .Net 1.1 que se ejecuta en un proceso diferente. (Esto sólo se puede hacer en IIS 6,0 y por encima, es decir, no en Windows XP)
Sin embargo, como dice nobugz - .Net 2.0 a través de Net 3.5 utilizar el mismo CLR, y así diferentes versiones de se pueden mezclar en el mismo conjunto sin la preocupación código .Net - esto también es cierto para IIS (.Net 2.0 y .Net 3.5 código puede felizmente co-existir en el mismo grupo de aplicaciones)