2010-03-14 14 views

Respuesta

7

Incluso si está compilado para .NET 3.5, el ensamblado debería poder ejecutarse en .NET 4. Aquí hay un bonito picture.

+0

Bueno, solo lo hace cuando el marco de destino del proyecto está configurado en .NET 4.0. Sin esto obtengo un error con el mensaje: El ensamblado al que se hace referencia "Ninject" no se pudo resolver porque tiene una dependencia en "System.Web, Versión = 4.0.0.0, Cultura = neutral, PublicKeyToken = b03f5f7f11d50a3a" que no está en el objetivo actual framework ".NETFramework, Version = v4.0, Profile = Client". Elimine las referencias a ensamblajes que no estén en el marco específico o considere reorientar su proyecto. – mgamer

+1

Parece que está utilizando una versión de Ninject compilada contra .NET 4 en un proyecto dirigido a .NET 3.5. Esto no es posible. Descargue una versión de Ninject compilada contra .NET 3.5. –

+0

El problema de System.Web es que está utilizando el perfil de cliente que no tiene el dll disponible. Ninject compila por defecto contra System.Web.dll. Puede compilarlo con una opción NO_WEB si lo desea. –

13

Tuve un problema similar ... intente apuntar al .NET 4 Framework completo, no al perfil del cliente.

Según mi entender System.Web está en .NET 4, pero no en .NET 4 Client Profile. Por lo tanto, para sus ensamblados, en los que está aprovechando el Ninject completo compilado en 3.5 sp1, deberá asegurarse de que no estén dirigidos al .NET 4 Client Profile, sino al perfil .NET 4 completo para la dependencia en System.Web estar satisfecho.

+0

Sí. De esta manera funciona +1 – rem