Salutations à tous,Qu'est-ce que cela signifie vraiment de cibler un framework et comment maximiser la compatibilité?
Cela m'a confondu depuis que j'ai commencé à coder en C#. Mon but est de créer un assembly qui fonctionnera sur le framework .NET le plus récent dont dispose l'utilisateur, quel qu'il soit. Je ne veux pas exiger .NET 4 pour être installé, mais je veux l'utiliser si l'utilisateur l'a, et plus important encore, je veux que cela fonctionne toujours si l'utilisateur a seulement .NET 4 et rien au-dessous. Je commence à penser que ce n'est même pas possible.
Je ne comprends pas vraiment ce que je choisis lorsque je change le "Target Framework" dans Visual Studio. Est-ce que cela signifie "sera compatible avec cette version et vers le haut"? Ou "sera compatible uniquement avec cette version"? Il semble que ce soit le dernier jusqu'à présent; mes tests dans des machines virtuelles montrent que les assemblys ciblés .NET 4 échouent sans .NET 4, et les assemblys ciblés .NET 3.5 échouent sans .NET 3.5. N'y a-t-il aucun moyen de régler cela afin que je puisse atteindre une compatibilité maximale?
MISE À JOUR: Pour clarifier, j'ai un programme qui cible .NET 2. Les affiches ici semblent indiquer qu'il devrait charger avec .NET 4. Mais dans un environnement avec seulement .NET 4 et rien avant, il échoue charger. UPDATE2: D'accord, j'ai compris, mais c'est beaucoup plus complexe que ce que les affiches semblent penser ici. J'ouvre une question différente pour discuter des subtilités, mais la version courte est, vous avez besoin d'un app.config avec <supportedRuntime version="v4.0" />
si vous voulez exécuter des assemblages non.NET 4 sur .NET 4. Ils ne se chargeront pas sans il.
Puis-je vous demander ce que vous essayez d'écrire que vous voulez utiliser le dernier cadre possible? Dans la plupart des cas, il est acceptable d'écrire une application dans les plus brefs délais, sinon vous allez vous financer avec des frameworks spécifiques et essayer de jouer au mix-and-match en fonction des versions installées. –
Ce n'est pas que je veuille vraiment utiliser le dernier framework possible, c'est que je veux que les utilisateurs qui n'ont que .NET 4 installé n'aient pas à télécharger et installer le framework * gargantuan * .NET 3.5. –