哪里可以找到64位BIT版DLL [英] Where to found 64 BIT version DLL

查看:80
本文介绍了哪里可以找到64位BIT版DLL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试运行这个项目

它构建并运行正常64位机器。

注意:我必须将项目的构建平台更改为x86。



my问题是,当我尝试运行编译的程序集(将调试文件夹移动到另一台64位机器后)我无法运行我的项目。当我打开它时,我的exe崩溃。





根据我的理解问题是因为项目中使用的三个DLL是32位和机器是64位。



注意:下面是三个DLL

I am trying to run this project in my VisualStudio 2010.
it build and run fine on my 64 bit Machine.
NOTE: I have to change build Platform of my project to x86.

my problem is when I try to run compiled assembly (after moving Debug Folder to another 64 Bit machine) I couldn''t run my project. my exe breaks down when I open it.


as per my understanding problem is because of three DLL used in project are 32 BIT and Machine is 64Bit.

NOTE: below is three DLL

Interop.Office.dll

Interop.VBIDE.dll

Interop.Word.dll





我google了很多但是找不到任何解决方案?

我想到的一个解决方案就是设法获得64BIT版本的上述DLL,我也搜索了多少但是什么也得不到。

你能帮我找到解决这个问题的方法吗?或者有没有办法找到上述DLL的64BIT版本?



请帮助我



I googled much but couldn''t found any solution?
one solution comes in my mind is manage to get 64BIT version of above DLL for that also I have googled much but couldn''t get anything.
could you please help me to find solution for this problem? or is there any way to found 64BIT version of above DLL?

Please Help me

推荐答案

如果通过添加引用窗口的标记.NET添加引用是正确的方法,则引用适当版本的指令集体系结构的GAC程序集。您永远不应该尝试找到它并通过程序集可执行模块(PE文件)的文件名添加引用。引用的GAC程序集基于强名称,而不是文件的位置。



请参阅:

http://en.wikipedia.org/wiki/Global_Assembly_Cache [ ^ ],

http://en.wikipedia.org/wiki/Strong_key [ ^ ],

http:// msdn .microsoft.com / zh-CN / library / wd40t7ad.aspx [ ^ ],

http:/ /msdn.microsoft.com/en-us/library/yf1d93sz.aspx [ ^ ]。



所有64位版本的Windows也可以托管x86(32位)应用程序),通过WoW64: http://en.wikipedia.org/wiki/WOW64 [ ^ ]。



你可以总是构建一个x86版本的软件,它将在真正的x86或WoW64上运行。您需要做的就是为入口点程序集(通常为* .EXE)显式设置目标CPU版本为x86,将所有其他程序集编译为AnyCPU目标。您需要知道的是:您绝不允许在一个过程中将编译器组合到不同的指令集架构中。它永远不会工作。



另请参阅: http:// en。 wikipedia.org/wiki/Instruction_set [ ^ ]。



-SA
The GAC assemblies of the proper version of the instruction-set architecture are referenced if you add a reference is a correct way, via the tag ".NET" of the "Add Reference" Window. You should never try to "find" it and add reference by the file name of the assemblies executable module (PE file). The referenced to GAC assemblies are based on strong names, not locations of the file.

Please see:
http://en.wikipedia.org/wiki/Global_Assembly_Cache[^],
http://en.wikipedia.org/wiki/Strong_key[^],
http://msdn.microsoft.com/en-us/library/wd40t7ad.aspx[^],
http://msdn.microsoft.com/en-us/library/yf1d93sz.aspx[^].

All 64-bit versions of Windows can also host x86 (32-bit applications), via WoW64: http://en.wikipedia.org/wiki/WOW64[^].

You can always build an x86 version of your software which will run on "real" x86 or via WoW64. All you need to do is to set target CPU version to "x86" explicitly for the entry-point assembly (*.EXE, usually), leaving all other assemblies to be compiled to "AnyCPU" target. All you need to know is: you should never allow mixing assemblies compiled to different instruction-set architectures in one process. It will never work.

See also: http://en.wikipedia.org/wiki/Instruction_set[^].

—SA


它真的与机器的位数无关。它与您的代码以及安装的Office版本有关。



如果用户安装了64位Office,则互操作库和代码必须是64位也。



如果用户安装了32位Office,那么必须按照库和代码进行操作。



无论机器的位数如何都没关系,因为64位Windows可以很好地运行32位代码。
It really has nothing to do with the bitness of the machine. It has everything to do with your code and which version of Office is installed.

If the user has 64-bit Office installed, the interop libraries and your code must be 64-bit also.

If the user has 32-bit Office installed, so must follow the libraries and your code.

It doesn''t matter what the bitness of the machine is as 64-bit Windows will run 32-bit code just fine.


这篇关于哪里可以找到64位BIT版DLL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆