2010-07-05 13 views
10

he estado desarrollando una aplicación en VS2010 y compilarlo para .NET 4.0 como el marco de destino. Después de integrar una biblioteca en mi aplicación, me sale el siguiente mensaje de error cuando intento compilar:Downgrade una aplicación de .NET 4.0 a 3.5

ensamblaje modo mixto se construye contra la versión 'v1.1.4322' del tiempo de ejecución y no se puede cargar en el tiempo de ejecución 4.0 sin información de configuración adicional.

La biblioteca funciona bien bajo .NET 3.5, pero cuando cambio mi marco de destino para .NET 3.5, se produce el error para todos mis archivos .resx siguiente:

de error 1 Referencia a objeto no establecer a una instancia de un objeto.

He intentado ctrl-h Version = 4.0.0.0 a Version = 3.5.0.0 pero eso no parece funcionar. ¿Hay algo que pueda hacer para crear una nueva aplicación?

Respuesta

5

Usted debe ser capaz de hacer este trabajo por los ajustes de configuración en App.config.

Simplemente añadir la bandera useLegacyV2RuntimeActivationPolicy="true" a su appConfig in the startup section. Esto hace que el tiempo de ejecución de .NET 4 maneje ensamblajes antiguos de modo mixto.

8

abrir su archivo .resx con el editor de XML en lugar del editor de recursos, y la búsqueda de System.Windows.Forms, Version=4.0.0.0. Debería haber 2 instancias de esta cadena. Reemplace 4.0.0.0 con 2.0.0.0 y guarde el archivo. Tus recursos deberían funcionar correctamente ahora.

Tenga en cuenta que también se puede volver a .NET 4 y tratar de añadir lo siguiente a su App.config para permitir montajes de mayor edad se ejecuten en el nuevo tiempo de ejecución:

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

Abra Propiedades de proyecto. Luego selecciona los Recursos. Eliminar todas las imágenes de recursos e insertarlas de nuevo. ahora compilarlo. Su proyecto está trabajando ahora .. :)

Cuestiones relacionadas