0

我正在使用SharePoint域。有时我需要为事件接收器和Windows服务等进行开发。Microsoft SharePoint的64位DLL正在32位机器上运行

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

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

现在问题就来了:

  • 要使用SharePoint对象模型的工作,我使用SharePoint 64位
    DLL中安装了32位机和32 位操作系统在我的Windows服务。
  • 64位DLL可能在32位机上工作吗?
  • 在什么情况下我们可以面对“64位dll不会 在32位机上工作”的问题?
  • 如果我想在64位 和32位机器上安装相同的解决方案,该怎么办?我不想每次都更改目标平台 。

UPDATE:

ř& d后,我发现参阅http://www.samlogic.net/articles/32-64-bit-windows-folder-x86-syswow64.htm “32位溶液可在64位DLL与一些条款和条件进行安装”。

在64位机器中,我们使用Program x86和SysWOW64文件夹来处理32位dll功能。

现在的问题是:

我们如何处理在32台机器上的64位的DLL?

是否确认SharePoint dll是“任何CPU”?

问候。

回答

0

不知道我理解你正在尝试做的,所以我会尽量详尽:

  • SharePoint对象模型只有在SharePoint服务器,而不是用户的工作站上可用。他们确实依赖64位的DLL,只能在64位操作系统上工作。

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

  • 一般来说,64位exe仅适用于64位操作系统。在.Net中,您可以使用适用于32位和64位的“任何CPU”。然而,这只会在你的exe和它的依赖完整时才起作用.Net(没有本地代码)。

+0

Thanks @Nico。我做了一些研发。有人在问题主体中添加了评论(请参阅“更新”)。 – MAK

+0

我的答案仍然适用。客户端对象模型是任何cpu。 SharePoint Server对象模型仅适用于SharePoint服务器,不适用于远程计算机。 – Nico

+0

是的,但我有点困惑,请参阅下面的问题。 如果我想在64位和32位计算机上安装相同的解决方案,应该怎么做?我不想改变目标平台。 我正在讨论具有SharePoint dll的解决方案。 – MAK

相关问题