【问题标题】:The 64 bit dll of Microsoft SharePoint is running on 32 bit machineMicrosoft SharePoint 的 64 位 dll 在 32 位机器上运行
【发布时间】:2012-07-05 12:55:20
【问题描述】:

我正在处理 SharePoint 域。有时我需要为事件接收器和 Windows 服务等做开发。

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

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

现在问题来了:

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

更新:

经过研发,我发现“32 位解决方案可以在 64 位 dll 上安装一些条款和条件”参考http://www.samlogic.net/articles/32-64-bit-windows-folder-x86-syswow64.htm

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

现在的问题是:

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

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

问候。

【问题讨论】:

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


    【解决方案1】:

    不确定我是否理解您要做什么,所以我会尽量详尽:

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

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

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

    【讨论】:

    • 谢谢@Nico。我做了一些研发。有人在问题正文中添加了评论(请参阅“更新”)。
    • 我的回答仍然适用。客户端对象模型是任何 cpu。 SharePoint Server 对象模型仅适用于 SharePoint 服务器,不适用于远程计算机。
    • 是的,但我有点困惑,请参阅下面的问题。如果我想在 64 位和 32 位机器上安装相同的解决方案,我该怎么办?我不想更改目标平台。我说的是具有 SharePoint dll 的解决方案。
    • 如果您再次谈论“常规”SharePoint DLL,则无法在 SharePoint Server 之外使用 SharePoint DLL。而 SharePoint 服务器只能安装在 64 位操作系统上。
    • 如果您谈论客户端对象模型,任何 CPU 解决方案都可以在 32 位和 64 位操作系统上使用。
    猜你喜欢
    • 2012-11-07
    • 1970-01-01
    • 2011-08-08
    • 2011-04-09
    • 2012-05-22
    • 1970-01-01
    • 1970-01-01
    • 2015-06-20
    • 1970-01-01
    相关资源
    最近更新 更多