2010-10-12 17 views
5

Tengo un proyecto .Net 2.0 que depende de dlls .Net de terceros (todos los cuales apuntan obviamente a .Net 2.0).Actualización de un proyecto .Net 2.0 a .Net 4.0

Si tuviera que migrar mi proyecto a VS2010 y orientarme al framework .Net 4.0, ¿seguirá compilando mi aplicación? ¿O se quejará de las referencias .Net 2.0 dll y tendré que encontrar las versiones .Net 4.0 de estos dlls de terceros?

+0

La respuesta de Aaron parece ser la correcta. –

+0

Después de algunas pruebas, esto es lo que descubrí: las aplicaciones ASP.Net y CmdLine funcionaron después de redirigir a .Net 4.0. No se tuvieron que hacer cambios en el archivo de configuración. Además, los dlls de terceros (creados con .Net 2.0) que estaba utilizando para generar archivos PDF también funcionaban como solían hacerlo en .net 3.5. Se actualizará si encuentro algún problema –

Respuesta

3

Sí, funcionará. Asegúrese de tener ambos .NET 2 y 4 FW instalados en las máquinas que ejecutan la aplicación.

+0

Tengo ambos frameworks .net 2 y .net 4 instalados en mi máquina. Pero aparece el error "No se pudo cargar el archivo o ensamblado" Microsoft.Practices.EnterpriseLibrary.Data, Version = 3.1.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a 'o una de sus dependencias. La definición del manifiesto del ensamblado ubicado no coincide con el referencia de ensamblado. (Excepción de HRESULT: 0x80131040) " –

+0

@Rajah buscó Microsoft.Practices.EnterpriseLibrary.Data y dijo que es para 2.0 y 3.0 pero 3.0 es necesario para cosas específicas ... ¿también tiene 3 allí? –

+0

Parecía VS 2010, actualizó automáticamente el dll ref a V5 (que también está instalado en mi máquina). Una vez que lo eliminé y reescribí v3.0 de EntLib, comenzó a funcionar sin problemas. –

2

Si es necesario utilizar los conjuntos de mayor edad con 4,0 (modo mixto) puede que tenga que añadir lo siguiente a <yourappname>.config:

<startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0"/> 
</startup> 

que tenía que hacer esto cuando intentó cargar algunos viejos 1.1 ensamblajes en mi programa IronPython (.NET 4.0) y consiguió el siguiente error:

"Mixed mode assembly is built against version 'v1.1.4322' of the runtime and cannot be loaded in the 4.0 runtime without additional configuration information." 

suma de estas tres líneas a mi archivo ipyw.exe.config me deja correr los ensamblajes en modo mixto.

Cuestiones relacionadas