4 votes

Revenir en arrière .NET 4 à 3.5 SP1 dans VS2010

J'ai écrit une application WPF simple VS2010 qui ciblait le profil client .NET Framework 4. (En fait, mon application n'utilise pas les fonctionnalités .NET 4, mais VS2010 a simplement par défaut lancé mon projet en ciblant .NET 4 donc je n'ai pas pris la peine de vérifier)

J'ai constaté que tous les systèmes XP et même quelques fenêtres 7 de différentes langues n'ont pas réussi à démarrer l'application. J'ai décidé de rétro-porter mon application pour cibler le .NET Framework 3.5 ou le profil client .NET Framework 3.5, en modifiant le Framework cible dans les propriétés de la solution. Mais l'application ne compile pas ou ne se construit pas avec l'erreur suivante sur System.Xaml et Microsoft.CSharp:

Attention 1   Impossible de résoudre l'assembly System.Xaml. Le framework cible requis par cet assembly (4.0) est supérieur au framework cible du projet. Si cette référence est nécessaire pour votre code, vous pouvez rencontrer des erreurs de compilation.   test1
Attention 2   La référence principale "Microsoft.CSharp", qui est un assembly du framework, n'a pas pu être résolue dans le framework actuellement ciblé. ".NETFramework,Version=v3.5". Pour résoudre ce problème, supprimez la référence "Microsoft.CSharp" ou retargetez votre application vers une version du framework contenant "Microsoft.CSharp".    test1
Attention 3   Le composant référencé 'Microsoft.CSharp' n'a pas pu être trouvé.     
Attention 4   Le composant référencé 'System.Xaml' n'a pas pu être trouvé.  

Est-il possible de rétro-porter (ou de cibler en arrière) une application VS2010 vers .NET 3.5? Si oui, comment?

[MODIFIER]

J'ai trouvé qu'il y avait un contrôle - DataGrid - qui est conçu pour être utilisé pour .NET 4. Je dois installer WPF Tool Kit pour rétro-porter les contrôles vers 3.5. J'espère que quelqu'un trouvera cela utile.

4voto

Ilian Pinzon Points 2125

Il suffit de les supprimer. Je l'ai testé et ça fonctionne pour moi. Je crois que ces assemblages ont été introduits uniquement dans .NET 4. Les types dans System.Xaml, par exemple, sont définis ailleurs dans .NET 3.5 (comme PresentationCore par exemple). Voir cet article pour plus d'informations.

1voto

Dave Markle Points 44637

Supprimez complètement ces références. Si vous en avez encore besoin, réajoutez-les via l'interface utilisateur dans Visual Studio. Vous devriez voir les versions 3.5 ou 2.0 de ces assemblies. En utilisant ces anciennes versions, votre application devrait se compiler.

0voto

Polity Points 7316

Vous devez supprimer ces références du dossier des références et les réajouter avec la version 3.5.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X