Que fait exactement le runtime .NET 4.0 si un exécutable .NET 4.0 contient une référence à un assembly .NET 2.0?Que se passe-t-il lorsque .NET 4.0 fait référence à un assembly .NET 2.0?
L'assembly .NET 2.0 s'exécute avec l'environnement d'exécution .NET 4.0 (en d'autres termes, .NET 4.0 doit être compatible à 100% avec .NET 2.0) ou le processus héberge-t-il l'environnement d'exécution .NET 2.0 et certains magie arrive à rendre les types .NET 2.0 accessibles de manière transparente à mon code basé sur .NET 4.0?
Merci. Cela semble que le code sera effectivement exécuté par le .NET 4.0 CLR s'il est chargé par une application .NET 4.0. Toujours à la recherche d'une déclaration officielle solide à ce sujet sur MSDN, mais ne l'ai pas encore déterré. – Cygon
Je qualifie cela de réponse parce que cela me mène à l'information la plus utile sur le sujet. Lorsqu'une application .NET 4.0 charge un assembly .NET 2.0, elle est en effet exécutée dans le .NET 4.0 CLR. Il existe même des différences subtiles (le plus important étant le modèle de sécurité). Les assemblys .NET 2.0 ne fonctionnent pas sans modifications supplémentaires du fichier app.config (log4net étant l'un de ces assemblys de problèmes). – Cygon