64位dll的Microsoft SharePoint在32位计算机上运行

时间:2012-07-05 06:34:41

标签: dll sharepoint-2010 windows-services 32bit-64bit windows-server-2008-r2

我正在使用SharePoint域。有时我需要为事件接收器和Windows服务等进行开发。

上周我在服务器上安装了Windows服务,以便从本地文件夹上传文档。服务器是64位机器和" Windows服务器2008 R2"作为操作系统安装在服务器上以运行SharePoint Foundation 2010.服务正常运行。

要求是,没有用户会去服务器上传文件。所以我已经在本地用户机器上安装了该服务。一些用户使用32位机器和32位操作系统,其他用户使用64位。在安装服务时,我在32位机器上出错了。错误是"此解决方案适用于64位机器"。将目标平台从64位更改为x86后,该服务已成功安装在32位计算机上并开始正常工作。

现在问题来了:

  • 要使用SharePoint对象模型,我使用的是SharePoint 64位 我的Windows服务中的dll安装在32位机器和32位机器上 位OS。
  • 64位dll是否可以在32位机器上运行?
  • 在什么情况下我们可以面对" 64位dll的问题 在32位机器上工作"?
  • 如果我想在64位上安装相同的解决方案,我该怎么办? 和32位机器?我不想改变目标平台 每一次。

更新

在R& D之后我发现" 32位解决方案可以在64位dll上安装一些条款和条件"参考http://www.samlogic.net/articles/32-64-bit-windows-folder-x86-syswow64.htm

在64位机器中,我们有程序x86和SysWOW64文件夹来处理32位DLL功能。

现在的问题是:

我们如何在32位机器上处理64位dll?

是否确认SharePoint dll是"任何CPU"?

问候。

1 个答案:

答案 0 :(得分:0)

我不确定我明白你要做什么,所以我会尝试详尽无遗:

  • SharePoint对象模型仅适用于SharePoint服务器,而非用户工作站。它们确实依赖于只能在64位操作系统上运行的64位DLL。

  • SharePoint 2010允许您使用在远程计算机上工作的“客户端对象模型”,例如使用工作站。它们是.Net DLL,不是特定于32位或64位。只需使用“Any CPU”编译您的exe,它就可以正常工作

  • 一般来说,64位exe只能在64位操作系统上运行。但是在.Net中,您可以使用适用于32位和64位的“任何CPU”。但是,只有当exe及其依赖项已满.Net(无本机代码)时才会起作用。