La pleine compréhension de l' .NET versions et compatibilité descendante
J'ai un .NET 2.0 de l'application et j'ai l'intention de faire une "smart installer" qui vérifie la disponible .Version NET sur le PC de l'utilisateur et d'installation de mon port spécifique pour cela.
J'ai vu que:
- Windows XP (SP2) est livré avec .NET 2.0
- Windows Vista est livré avec .NET 3.0
- Windows 7 est livré avec .NET 3.5
- Windows 8 est livré avec .NET 4.5
Autant que je sache, la seule chose qui n'est pas rétro-compatible est la version CLR, qui est changé après .NET 4.0.
Donc si je ne veux pas l'utilisateur à installer un nouveau cadre pour mon application, je devrais avoir ces versions de mon application:
- .NET 2.0 - XP (SP2 ou supérieur), Vista (3.0 devrait être en mesure d'exécuter 2.0) et 7 (3.5 devrait être en mesure d'exécuter 2.0)
- .NET 4.0 - si quelqu'un est installé 4.0 et n'ont aucune
- .NET 4.5 - pour les utilisateurs qui ont Windows 8 avec aucune autre .Installée NETTE
Suis-je droit? Ou 4.5/4.0 sont rétro-compatibles?
EDIT: Si la tige n'est pas droit, merci de me corriger
Urgh. Vous allez créer une autre version de votre application pour chaque version de .NET qui est disponible? Semble que beaucoup de pertes de temps et d'effort de codage. Pourquoi ne pas choisir le plus petit dénominateur commun?
Je ne vais pas changer une seule ligne, simplement recompiler pour 3 versions différentes. Mon programme d'installation web permettra de choisir celui qui installer.
Donc vous ne serez pas à l'aide de tout .NET 3/3.5/4+ propose à tous les. Vous pourriez tout aussi bien avoir un seul .NET 2 version à mon avis? Quel est votre raisonnement pour ne pas vouloir l'utilisateur d'avoir à installer un cadre? Il semble parfaitement raisonnable à mon avis.
Personnellement, je n'aime pas forcer les utilisateurs à installer les cadres seulement pour une seule application. C'est l'une des raisons pour lesquelles je n'aime pas le Java et je l'aime .NET. C'est pourquoi je vais faire de mon logiciel ne nécessitant pas d'installations supplémentaires.
Je ne vais pas changer une seule ligne, simplement recompiler pour 3 versions différentes. Mon programme d'installation web permettra de choisir celui qui installer.
Donc vous ne serez pas à l'aide de tout .NET 3/3.5/4+ propose à tous les. Vous pourriez tout aussi bien avoir un seul .NET 2 version à mon avis? Quel est votre raisonnement pour ne pas vouloir l'utilisateur d'avoir à installer un cadre? Il semble parfaitement raisonnable à mon avis.
Personnellement, je n'aime pas forcer les utilisateurs à installer les cadres seulement pour une seule application. C'est l'une des raisons pour lesquelles je n'aime pas le Java et je l'aime .NET. C'est pourquoi je vais faire de mon logiciel ne nécessitant pas d'installations supplémentaires.
OriginalL'auteur blez | 2012-12-17
Vous devez vous connecter pour publier un commentaire.
Ce n'est pas vrai. Vous pouvez faire votre .NET2 compilé l'exécution de l'application sur le .NET4 cadre.
Vous avez juste besoin d'ajouter les éléments suivants à votre application.config:
Remarque, je suis d'accord avec @KingKronus, c'est à dire
Why not just pick the lowest common denominator?
Dans votre cas, ce serait .NET2 compilé et un seul ensemble de pdb et une compilation de jeu.
Oui, vous devez tester votre .NET2-compilé application s'exécute sur OK sur l' .net4 d'exécution, MAIS vous devez tester votre application dans chacun des cadres dans l'original de votre solution de toute façon.
j'ai été vérifier que maintenant...mieux est de l'essayer. voir aussi ce lien: msdn.microsoft.com/en-us/library/ff602939.aspx
The .NET Framework 4.5 is backward-compatible with applications that were built with the .NET Framework versions 1.1, 2.0, 3.0, 3.5, and 4.
et oui, qui va travailler sur 3.5 projets trop; n'oubliez pas qu'il "travaille", parce que .net3.5 projets de toujours utiliser l' .net2 exécution
C'est très agréable de se déplacer à partir de Microsoft. Mais je me demande, qu'est-ce que ce post? stackoverflow.com/questions/12612166/...
qu'en est-il? c'est la même chose que ce que j'ai suggéré.
OriginalL'auteur wal
Fait, vous n'avez pas besoin de les vérifier manuellement. Votre application va afficher des message une fois que vous l'exécutez, et demander à l'utilisateur de télécharger et d'installer le version.
Si vous avez encore besoin de prendre en charge windows XP, cliquez sur .NET 4.0. .NET 4.5 gérer
Mal. Windows XP et Windows 7 va vous montrer que la boîte de dialogue de bien, je l'ai vérifié. Windows XP ne reconnaît pas 4.5, mais 4.0 à coup sûr
Je ne veux pas faire de l'utilisateur d'installer l'ensemble du cadre, juste pour mon application.
Juste au cas où cet utilisateur ne dispose pas de tout .NET cadres installé, le meilleur choix est d'utiliser .NET 4.0 . Mais je ne peux pas imaginer que n'importe quel utilisateur d'aujourd'hui, qui n'avait pas besoin .NET 4.0 avant votre logiciel ;). Et je pense que .NET 4.0 est installé automatiquement si windows update est SUR.
merci pour cette excellente question. Non seulement il y a des "économies en développement" en Asie, mais les etats-unis. Votre pensée est exactement à propos de la réunion des clients sur leur matériel termes. Je vendre des logiciels pour les pratiques médicales et il est remarquable de voir combien de postes de travail nécessaire .NET 2.0-compatibilité de niveau.
OriginalL'auteur VladL