Bonjour,
J'ai une application developper en dotnet 1.1 et j'envisage d'effectuer une migration vers la version 3.5
Y a t il des precautions à prendre, et des piege à éviter.
Merci d'avance.
Guillaume
Bonjour,
J'ai une application developper en dotnet 1.1 et j'envisage d'effectuer une migration vers la version 3.5
Y a t il des precautions à prendre, et des piege à éviter.
Merci d'avance.
Guillaume
ca dépend. tu vas juste la recompiler en 3.5 ou tu vas recoder en améliorant le code en utilisant générics, linq, et autre nouveautés?
Bonjour.
Les précautions à prendre concernent surtout les classes marqués Deprecated qui ont été supprimés du framework 3.5. Ensuite vu que vous venait de loin il faut faire des tests un peu poussé, vous changer de CLR ( 1.1 vers 2.0 )
Un point parmi tant d autre :
Attention aux classes qui seraient devenue obsoletes (exemple ici)
Sinon, il est intéressant de savoir pourquoi tu souhaites migrer. Si c'est uniquement pour dire je suis en 3.5 et plus en 1.x ca n'en vaut pas la peine. Ton application n'est pas mauvaise parce qu'elle n'est pas compilée avec la dernière version du framework .NET.
ben oui et non. Le problème n'est pas la recompilation ( quoiqu'il faudrait vérifier si le compilateur C# n'as pas subit un petit lifting et quelque amélioration sur l'optimisation ) mais bien le runtime. En effet le runtime de .NET 3.5 à été largement amélioré et est plus rapide et performant que la version 1.1.
En fait je suis obligé de modifier l'appli pour aujouter des fonctionnalités qui sont disponibles uniquement dans le framework 3.5.
Oui le compilateur a subi un gros lifting, mais ça ne remet pas en cause la compilation d'une appli originellement en 1.1, ce sont des améliorations de performance du processus de compilation et aussi de performance du code généré.
De plus, le CLR du 1.1 par rapport à 2.0, puis 3.5 est backward compatible à 100%. Depuis le framework 1.1, chaque amélioration est une extension du CLR, mais pas une modification de l'existant.
Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.
Bonnes pratiques pour les accès aux données
Débogage efficace en .NET
LINQ to Objects : l'envers du décor
Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter
Si il y a eu modification du code généré alors il y a modification de la façon dont s'éxécute le programme au final
nop je suis pas d'accord. Le CLR a été modifié même s'il est capable de faire tourner des applications 1.1. L'exécution des applications ce fait bien sur le CLR 1.1 par défaut car compilé pour. Mais il existe une directive à mettre dans le fichier de config afin de sépcificier sur quel CLR il faut exécuter le programme :
On peux donc forcer une application 1.1 à s'éxécuter sur un runtime 3.5 et à bénéficier des améliorations
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <configuration> <runtime> <compatibilityversion major="3" minor="0"/> </runtime> <startup> <supportedRuntime version="v3.5.7000"/> </startup> </configuration>![]()
Partager