2009-10-21 9 views
0

J'ai un problème, lors de la conversion de l'application Windows de .NET2.0 à .NET3.5. Je fais comme ça: 1. Dans Win XP, je lance VS2008 et ouvre mon projet de solution qui consiste en 4 projets; 2. Sur l'ensemble de ces 4 propriétés du projet fenêtre dans l'onglet "Application" je sélectionne la valeur de la structure cible ".NET Framework 3.5" 3. Je reconstruis la solution, mais toutes les anciennes références à .NET 2.0 reste ... Il était écrit, que toutes les références après la conversion de 2.0 à 3.5 doivent être référencées automatiquement à 3.5 dll, qui sont sur mon ordinateur.Comment faire pour convertir l'application Windows de .NET2.0 à .NET3.5

Qu'est-ce que je fais mal? S'il vous plaît aider avec quelques conseils. Merci

Répondre

1

Comment savez-vous si vous faites référence à .net 2.0 au lieu de .net 3.5? Parce que .net 3.5 est juste une extension de .net 2.0, et fondamentalement tous les .net 3.5 sont aussi des assemblages .net 2.0. Donc, si votre code peut compiler lorsque vous ciblez .net 3.5, vous êtes déjà sur 3,5

Si vous ciblez .NET 3.5, alors cela signifie que certains ensembles supplémentaires seront activés pour la compilation (tels que les ensembles liés LINQ), si vous ciblez .net 2.0, cela signifie que ces assemblys ne sont pas activés.

Tout votre .net 2.0 peut être converti en 3.5 sans tracas.

+0

Seules System.Core et System.Web.Extensions sont référencées en tant que références .NET 3.5. Donc je suppose que tout le reste est correct et que ma solution est convertie en .NET 3.5 ...? – Vytas

+0

Oui, tout va bien; tout votre .net 2.0 peut être converti en 3.5 sans tracas. – Graviton

0

Tant que vous n'avez jamais modifié les références de votre projet pour référencer une «version spécifique» des assemblys système, ils passeront tous automatiquement aux versions 3.5.

Vous devrez, cependant, ajouter une référence à quelque chose de nouveau dans 3.5. Ma conjecture est que vous manquez probablement la référence à System.Core, ce qui va ajouter le support LINQ.

+0

La référence à 'System.Core' a été ajoutée automatiquement, à tous les projets de ma solution, par l'assistant de conversion VS2008. Je ne sais pas si c'est nouveau dans SP1 cependant. –

4

Vous êtes probablement déjà OK. Même s'il semble que 3.5 soit une mise à niveau de 2.0, il s'agit en fait plutôt d'une extension de 2.0. Toutes les DLLs comme System, System.Data, etc. seront toujours la version 2.0. Il n'y a pas de version 3.5 de System.Data. La différence dans un projet 3.5 est qu'il y a de nouvelles DLLs comme System.Core, System.Xml.Linq, etc. qui seront tous en version 3.5

Créez un nouveau projet 3.5, et comparez les références de ce projet à votre projet mis à jour et vous verrez ce que je veux dire.

Questions connexes