Configuration .Net ‘N’importe quel cadre’

J’ai construit un programme en C # .NET 2.0 qui fonctionne très bien aussi sous framework 3.0 et 3.5.

Mais si .NET Framework 4.0 est le seul framework installé, il ne fonctionne pas, l’utilisateur doit installer la version 2.0.

J’ai trouvé la configuration suivante dans google:

   

Après avoir ajouté ceci à app.config, mon programme fonctionne sans aucun problème avec .NET Framework 4.0!

Ce que je recherche, c’est une configuration .NET ‘Any Framework’, qui exécute mon programme sous .NET 2.0 si elle est installée, ou bien dans .NET 4.0.

Comment faire ça?

Cela ne fonctionne pas sans configuration par conception . .NET 4 utilise une exécution différente et lorsque vous chargez un assemblage .NET 2, il est chargé par défaut dans la version 2 du CLR. Vous pouvez le reconfigurer pour éviter ce problème et le charger dans la v4 du CLR – mais ce n’est pas toujours une bonne idée. Cela fait que le code que vous écrivez est exécuté sur une structure différente de celle sur laquelle il a été conçu et testé, ce qui peut poser problème.

En règle générale, il est plus facile et préférable d’installer la configuration requirejse sur le système. L’installation de .NET 2 est très simple (et vient par défaut sous Vista +). Cela présente l’avantage d’exécuter votre programme sur le framework pour lequel il a été conçu.

Je l’ai trouvé!

Voici la configuration pour tous ceux qui en ont besoin:

        

Il est très difficile de trouver une machine sur laquelle seulement 4.0 est installé. Les versions compatibles .NET 2.0 sont préinstallées sur les machines Vista et Win7, elles exécuteront votre programme sans accroc. Vous auriez besoin d’une machine vierge XP sur laquelle .NET n’a jamais été installé. Peut-être un kernel de serveur. Dans ce cas, quelqu’un a fait une gaffe en installant la mauvaise version de .NET.

Je ne sais pas comment cela s’est passé, ça sent un problème de communication. Peut-être que vous ne devriez pas laisser à quelqu’un d’autre le soin de vous tromper. Lorsque la configuration système requirejse pour votre application comprend la prise en charge de XP, vous devez vous assurer qu’elle est disponible. Assez simple avec un projet d’installation.

Votre app.config est sinon faux, est obsolète depuis .NET 1.0. La bonne incantation est requiredRuntime et demandez les versions 2.0.50727 et 4.0.

la chose dont vous avez besoin pour changer l’exigence minimale pour l’application.

aller à la configuration du projet changer le cadre cible en 2.0 et je pense qu’il est toujours le même, même si les utilisateurs ont un cadre 2.0 ou 4.0 Net dans leur système