23 votos

Puede .NET 4.0 código de interactuar con .NET 2.0 código?

Hay barreras de compatibilidad con una .NET 4.0 asamblea código de llamada en una .NET 2.0 de la asamblea? Y viceversa?

Más específicamente, estoy investigando una actualización para Visual Studio 2010 cuando se utiliza una aplicación de terceros .NET 2.0. La aplicación es extensible a través de ganchos que hacen referencia a mi código personalizado. Y viceversa, mi código de referencia de la aplicación de las asambleas.

35voto

Reed Copsey Puntos 315315

El CLR, en .NET 4, puede consumir .NET 2 asambleas y usarlos correctamente.

Si quieres que tu .NET 2 solicitud para ser capaz de cargar .NET 4 asambleas, tendrás que configurar de una manera diferente. Por la configuración de la requiredRuntime .NET 4, y el legado de carga política, debe ser capaz de obligar a los .NET 2 aplicación de la carga mediante CLR 4, lo que permitiría a su .NET 4 asambleas para ser utilizado.

El programa de instalación de la aplicación.archivo de configuración para incluir:

<?xml version="1.0"?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
</configuration>

Dicho esto, en una situación como esta, yo recomiendo el uso de VS 2010 y dirigidos .NET 3.5 en lugar de .NET 4. Este sería compilar sus asambleas para CLR 2, y evitar este problema por completo.

-3voto

Tom Cabanski Puntos 4952

.NET 4.0 asambleas puede llamar .NET 2.0 asambleas con ninguna dificultad. Sin embargo, es muy poco probable que usted será capaz de llamar a un .NET 4.0 de la asamblea .NET 2.0, a menos que la .NET 4.0 asamblea no tomar ventaja de las nuevas funciones del marco de trabajo y la instalación de la asamblea redirecciones.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by: