2010-06-04 2 views
4

Je rencontre un problème étrange avec un assembly qui cible .NET 3.5. Lorsque vous incluez cet assembly via Ajouter des références/Parcourir vers la DLL - il se plaint:VS 2010 .NET Framework problème avec un assembly de ciblage 3.5 se plaint qu'il a besoin de la version ultérieure de .NET Framework

"MyAssembly.dll", ou l'une de ses dépendances, nécessite une version ultérieure de .NET Framework à celle spécifiée dans le projet. Vous pouvez modifier la cible .NET Framework en cliquant sur Propriétés dans le menu Projet, puis en sélectionnant une nouvelle cible dans la zone de liste déroulante '.NET Framework'. (Dans Visual BVasic, cela se trouve dans l'onglet Compiler en cliquant sur le bouton "Advanced Compiler Options ...".) Souhaitez-vous toujours ajouter une référence à "MyAssembly.dll" dans le projet?

Il ne semble pas y avoir de rime ni raison à cette erreur - nous avons essayé des choses « évidentes

L'Assemblée qui consume la DLL est .NET 3.5 La DLL est... NET 3.5 Tous les assemblys que chacun utilise sont .NET 3.5 Rien n'utilise .NET 4.0 [AFAIK]

Que puis-je vérifier/faire? Il y a un peu de COM Interop dans la DLL - pourrait Ce projet a été déplacé de VS 08 à VS 10 - mais encore une fois, cible toujours .NET 3.5 J'ai vérifié que tous les assemblages listés sous Référence ciblent le bon C Version LR [2].

La mise à niveau du projet cible vers .NET 4 supprime le problème - mais nous ne pouvons pas le faire pour le moment.

  • Je devrais également noter que l'inclure via Références/Projet [même solution] semble fonctionner - lors de la rétrogradation de la DLL à .NET 3.0. [ceci peut ne pas être tout à fait exact - testait pas mal de choses]

Je n'ai plus d'idées pour le moment.

+0

Quelle est la version du code qui consomme votre assembly .NET 3.5? Est-ce .NET 4.0 ou .NET 3.5? –

+0

.NET 3.5. Tout est .NET 3.5. –

Répondre

2

Il s'avère que le problème est .. curieusement assez .. avec les composants Janus Controls .NET 3.5 .. ne joue pas bien avec d'autres, il semble.

A ce jour, le Janus Controls [GridEX] ne fonctionnent pas avec VS 10 & .NET 3.5, ... uniquement avec des projets .NET 4, même si la solution a été construite en .NET 3.5 et VS 2008.

1

Je suppose que vous avez déjà utilisé Reflector ou ILDASM pour vérifier le manifeste des assemblys à l'origine du problème. Une option que vous avez est d'ignorer le message et d'ajouter la référence de toute façon. Ensuite, essayez d'utiliser n'importe quel type dans l'assemblage. Vous devriez obtenir un message d'erreur plus complet.

Par exemple, ceci est l'erreur que je reçois dans mon ordinateur lorsque je tente de faire référence à une bibliothèque de classes qui vise un cadre supérieur:

La référence principale « ClassLibrary2 » ne pouvait pas être résolu, car il a une participation indirecte dépendance sur l'assembly .NET Framework "mscorlib, Version = 4.0.0.0, Culture = neutre, PublicKeyToken = b77a5c561934e089" qui a une version supérieure "4.0.0.0" que la version "2.0.0.0" dans le framework cible actuel. ConsoleApplication1

Espérons que cela aide à identifier le problème.

+0

Votre solution est parfaite. Je faisais face à la plus mauvaise situation dans laquelle je ne pouvais pas ajouter le fichier dll de WatIn 2.0 dans mon projet ciblant 3,5 trame .Net. –

Questions connexes