我正在使用SharePoint域。有时我需要为事件接收器和Windows服务等进行开发。
上周我在服务器上安装了Windows服务,以便从本地文件夹上传文档。服务器是64位机器和" Windows服务器2008 R2"作为操作系统安装在服务器上以运行SharePoint Foundation 2010.服务正常运行。
要求是,没有用户会去服务器上传文件。所以我已经在本地用户机器上安装了该服务。一些用户使用32位机器和32位操作系统,其他用户使用64位。在安装服务时,我在32位机器上出错了。错误是"此解决方案适用于64位机器"。将目标平台从64位更改为x86后,该服务已成功安装在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"?
问候。
答案 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(无本机代码)时才会起作用。