2010-03-05 4 views
1

J'ai un projet Visual Studio 2003.Référencement d'une DLL .NET à partir d'une version différente de VS.NET?

Je dois faire référence à une DLL de bibliothèque qui est intégrée dans VS 2005 à ce projet.

Est-ce possible? Tout en me référant directement, je reçois une erreur dans Visual Studio indiquant que "..ce n'est pas une bibliothèque ou un composant com valide ...".

Mais existe-t-il une solution de contournement? Je ne peux pas convertir mon projet Visual Studio de 2003 à 2005 à partir de maintenant.

Veuillez nous consulter. (En cas de solution, il sera très utile)

Merci

SNA

Répondre

3

Vous ne pouvez pas utiliser dll créés dans VS2005 dans une application VS2003, parce que VS2005 cible la v2.0 du moteur d'exécution, alors que 2003 cibles 1.1.

Une seule version d'une structure peut être chargée dans un processus donné.

Why Visual Studio targets only one version of the .NET Framework

+0

Thanks.But est ther quelque manière que je peux convertir cette dll (version 2.0) à la version 1.1 à l'aide des outils etc.I n'ont pas le code que je n'ai que la version dll (2.0) qui fait certaines tâches courantes. et comment puis-je trouver la version dot net à partir d'un DLL. – SNA

+1

Vous pouvez convertir à la main. Vous pouvez utiliser le réflecteur pour obtenir la source –

+0

Vous pouvez décompiler l'original, et puis essayer de convertir l'ensemble à la version précédente. http://stackoverflow.com/questions/1503943/how-to-decompile-a-dll-file-created-in-vs-net –

0

Vous ne pouvez pas les référencer et les utiliser dans le même processus que dit Astander. Cependant, vous pouvez contourner la limitation. Si vous utilisez un second processus .net 2.0 CLR pour héberger l'autre assembly et que vous pouvez utiliser comunicate entre les deux processus, si vous utilisez un protocole partagé tel que sockets, pipes nommés, mailsolts, fichiers mappés en mémoire, etc.

Ce n'est pas trivial, mais il ne devrait pas être deux dur mais en substance vous faites votre propre marshalling.

0

Si vous avez le code source, vous pouvez compiler en VS2005 avec le compilateur .Net 1.1.

Questions connexes