Convertir 32 bits dll en 64 bits dll
J'ai la version 32 bits dll compilée quand j'essaie de l'utiliser en 64 bits, il ne parvient pas à charger,
Donc, je tiens à convertir le fichier dll à 64 bits. Son travail correctement lorsque la plate-forme de la demande modifiée de "any CPU" ou "x64" à "x86". Mais je veux l'utiliser sous 64 bits, Puisque je vais appeler la dll à partir des pages ASP.
Merci de m'aider à sortir de ce.
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Windows ne PEUT PAS charger une dll 32 bits en 64 bits, c'est une limitation que vous ne pouvez pas contourner. Cela signifie que si votre 32bit DLL n'importe quel P/Invoque à d'autres DLL 32 bits (ou utilise un 32 bits .Net DLL) vous sera entièrement hors de la chance (vous en aurez besoin pour exécuter le site web entier de 32 bits).
Vous n'êtes pas tout à fait clair sur quand ça marche et quand ça ne marche pas. Voici les explications:
En termes de AnyCPU:
Dans la plupart des cas, c'est bien de la laisser AnyCPU. Cependant, comme je l'ai dit, si vous utilisez un natif ou .Net de 32 bits Dll que vous aurez besoin pour faire de votre ensemble de l'application 32 bits (et il n'y a rien que vous pouvez, ou Microsoft pourrait faire à ce sujet).
x86 drapeau est généralement fixé pour une raison, de sorte qu'il peut être une mauvaise idée de le changer. Mais si vous êtes absolument sûr, il y a un utilitaire, corflags.exe. Je l'ai en vertu de l'C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin. Bien sûr il y aura de l'aide .net assemblages uniquement.
Si vous souhaitez charger un pur C# DLL en 32 et 64 bits, puis le choix correct est AnyCPU. Cela permettra de compiler la DLL en tant que CPU agnostique et il sera téléchargeable dans l'un ou l'autre type de processus.
Je ne suis pas sûr à 100% que ce que vous demandez. Si ce n'est pas pouvez-vous préciser votre question?
vous pouvez prendre un coup d'oeil à http://msdn.microsoft.com/en-us/library/ms164699%28VS.80%29.aspx