J'ai un doute basique, Comment pouvons-nous avoir les deux CLR sur une même machine. Si cela est possible, lorsque je référence quelques DLL de 4.0 et que je mets le pool d'applications à 2.0, je peux lancer le site web (j'obtiens des erreurs). Quand nous renvoyons les dll à web.config cela signifie qu'il recherche le GAC quand ce 4.0 dll est disponible dans GAC Pourquoi ne pas charger (Comment ça ne se charge pas) .. S'il vous plaît clarifier mes doutesComment se fait .net 4.0 et .net 2.0 CLR peut exister dans une même machine
Répondre
Oui, les deux CLR peuvent être sur la même machine - en fait, .NET 4 vous permet d'avoir le même processus qui héberge les deux CLR en même temps!
Différents assemblages dans le GAC auront des versions différentes, donc si vos références spécifient la version, le CLR chargera celui approprié. Bien sûr, vous devez vous assurer que vous avez le CLR approprié chargeant l'assemblage approprié; alors que le CLR v4 peut charger des assemblys v2 (avec certaines restrictions, IIRC), vous ne devriez pas essayer de charger un assembly v4 à partir du CLR v2.
En ce qui concerne les raisons pour lesquelles vous avez des problèmes, c'est vraiment impossible à dire sans plus d'informations. (Chaque fois que vous poser une question et vous avez une erreur, dire ce que l'erreur est.)
Les pools d'applications sont configurés pour exécuter une version spécifique de la structure. Il utilise cette information pour déterminer quel assembly charger à partir de GAC.
Vous ne pouvez pas charger un assembly .NET 4 à partir d'une application/d'un processus 2.0.
Vous pouvez avoir 1,0, 1,1, 2, 3, 3,5 et 4 tous installés côte à côte.
Oui qui a été rendu possible en faisant dll 4.0 de base comme CLR.dll et 2.0 comme mscorwks.dll
donc, si vous capturez un vidage de processus avec les deux chargés, vous verriez mscorwks de LMVM de 2,0 et LMVM clr de 4,0
Mais vous ne pouvez toujours pas combiner 1,1 et 4,0 dans le même processus
Merci Jas
- 1. Que se passe-t-il lorsque .NET 4.0 fait référence à un assembly .NET 2.0?
- 2. .NET Framework 4.0 avec des assemblys utilisant 2.0
- 3. Compatibilité descendante entre .Net 2.0/3.5 et 4.0
- 4. Communication entre l'application .Net 2.0 et .Net 4.0
- 5. une application compilée .net 3.5 peut-elle être exécutée sur une machine avec seulement .net 2.0?
- 6. Migration du projet de .NET 2.0 vers .NET 4.0
- 7. Comment référencer l'assembly .NET 4.0 dans les projets .NET 3.5
- 8. Comment lier un assembly .NET 2.0 dans une solution .NET 4.0
- 9. Mise à niveau d'un projet .Net 2.0 vers .Net 4.0
- 10. .NET 2.0 vs .NET 4.0 Erreur de chargement
- 11. .NET 4.0 et versions antérieures
- 12. Impossible de détecter .NET 3.5 et .NET 2.0 après l'installation de .NET 4.0 avec VS2010
- 13. MapRoute (Asp.Net MVC 2.0 .NET 4.0)
- 14. Est-ce que .Net 4.0 inclura un nouveau CLR ou gardera avec la version 2.0
- 15. Le code .NET 4.0 peut-il interopérer avec le code .NET 2.0?
- 16. CLR Profiler 2.0 ne fonctionne pas sur le profil client .NET 4.0 Application WPF
- 17. Puis-je utiliser une bibliothèque .NET 4.0 dans une application .NET 2.0?
- 18. Framework .NET 4.0 sur le même serveur que .NET 1.1
- 19. un ensemble de beta2 .NET 4.0 dans PowerShell 2.0
- 20. jQuery et .NET 2.0
- 21. Comment fonctionne le .NET CLR?
- 22. Pièges pour convertir une solution .net 2.0 en .net 3.5
- 23. Multithreading dans .NET 4.0 et la performance
- 24. Chargement .net 3.5 wpf-forms dans une application .net 2.0
- 25. est là profileur CLR pour .NET 4.0 autour?
- 26. nServiceBus .Net 4.0 et MEF
- 27. .net 4.0 héritant de .net 3.5 web.config?
- 28. Une application cliente Winforms .Net 2.0 peut-elle se connecter à un service WindowsF .Net 3.5 WCF? - conseil architectural requis
- 29. sérialisation et désérialisation .net 4.0 ExpandoObject
- 30. Log4Net et .NET 4.0 RC
Ma façon de répondre être mal alors - je pensais que les versions CLR ont été isolées. Est-ce que cela a changé? –
@Michael: À quel genre d'isolement pensiez-vous? Je crois que vous pouvez utiliser une bibliothèque de classes construite en ciblant .NET 2.0 lors de l'exécution d'une application .NET 4, par exemple - ne vous attendiez-vous pas à ce que cela fonctionne? IIRC il y a quelques restrictions autour du code natif cependant; Les assemblages en mode mixte doivent être reconstruits. –
Salut Jon Skeet, Le problème que je suis confronté est, j'essaye de courir un site Web avec le pool d'application pointe vers 2.0 et le web.config de ce webisite pointe vers une partie du 4.0 dll, ainsi j'obtiens l'erreur qui pourrait pas charger un assemly. Mais mon doute est que même le GAC a ces dll's Y ne peut-il pas les charger. –