2009-06-11 8 views
7

J'ai un projet de composant construit dans VS2008 et ciblant le .NET Framework 3.5. J'ai récemment téléchargé le VS2010 Beta 1 pour m'assurer que ce projet se convertirait correctement au moment de passer au nouvel IDE. Ce projet contient des références à quelques DLL tierces construites contre la version 2.0 du framework. J'ai changé mon projet pour construire contre la version 4.0 du framework mais quand j'essaye de construire le projet, je reçois une tonne d'erreurs qui ressemble au compilateur qui ne peut pas reconnaître les types de classes de ces bibliothèques tierces similaires à ce qui est ci-dessous.Conversion de projet VS2008 en VS2010

« Le type ou le nom namespace « Data »n'existe pas dans l'espace de noms « Microsoft.Practices.EnterpriseLibrary »(vous manque une référence d'assemblage?) »

J'essaie de comprendre pourquoi je peux compile pas. D'après ce que j'ai lu. NET 4.0 utilise une version différente du CLR. Comment ou pourquoi cela aurait-il un impact sur ma capacité à avoir accès à ces types? Est-ce que je vais devoir

a) Obtenir le code source et recompiler dans VS2010/.NET 4.0 et référence que l'assemblage ou

b) Attendez que les auteurs du projet de le faire « a » ci-dessus et libérer leurs assemblées ciblant le 4.0 CLR? ou

c) Autre chose car mon installation VS2010 est peut-être en panne?

Je peux modifier les propriétés du projet à la cible 3.5 et tout fonctionne comme prévu sous l'IDE 2010.

+1

Mon expérience: VS2010 a de sérieux problèmes dans la conversion de projets. –

Répondre

1

Je voulais marquer cette question comme une réponse et sur la base des commentaires et de mes propres expériences, je pense que Mehrdad a raison dans le commentaire joint à la question et qu'il s'agissait d'un problème de conversion de projet VS2010.

2

Je suppose que c'est parce que .NET 4.0 utilise CLR 4.0, pas 2.0. EL 4.1 aura été construit contre CLR 2.0, donc je ne suis pas sûr que je m'attendrais à ce qu'il soit trouvé sans aide.

+0

J'aurais juré que j'étais capable d'utiliser 1.1 dll quand j'ai commencé à utiliser .NET 2.0 (VS 2005). Je ne l'ai plus installé, donc je ne peux pas le dire avec certitude cependant. Je pense que cette situation est parallèle à celle-là. – sdanna

+0

Vous n'avez jamais pu mélanger .NET 1.1 et 2.0. –

+0

Je viens de recevoir une très ancienne version de Log4Net (à partir de '01, version d'exécution v1.0.3705) et l'ai essayée. Ciblant le Framework 2.0, j'ai réussi à compiler. Permettez-moi d'être clair, je n'ai toutes les versions du cadre installé sur ma machine, y compris la version bêta pour 4.0. J'ai également pu avoir ma cible de projet 4.0 sans problèmes. Je pense que je vais devoir faire face à un problème de conversion, et creuser un peu plus dans cette voie. – sdanna

2

Cela me semble un problème de versionnement CLR.

Pour l'instant, je vais recommander b) et/ou simplement compiler vers v2.0/v3.5.

Toute fonctionnalité spécifique que vous souhaitez utiliser dans v4.0?

+0

L'une des fonctionnalités que j'attendais avec impatience était d'avoir la possibilité de mieux contrôler mon ID de contrôle ASP .NET afin de réduire le javascript lors du ciblage de contrôles spécifiques. – sdanna

Questions connexes