如何:设置正确的目标框架和 CPU

上次修改时间: 2010年4月30日

适用范围: SharePoint Foundation 2010

本主题介绍如何在 Microsoft Visual Studio 中为 Microsoft SharePoint Foundation 开发项目设置正确的目标 Microsoft .NET Framework 和正确的目标 CPU 平台。

目标设置规则

设置目标 Microsoft .NET Framework 和 CPU 平台的规则如下:

  • 面向 SharePoint Foundation 的客户端或服务器对象模型开发的所有 Visual Studio 项目必须将 Microsoft .NET Framework 3.5 设置为目标框架。即使 Visual Studio 项目类型不是"SharePoint 2010"项目类型之一,此规则也适用。

  • 面向 SharePoint Foundation 的服务器对象模型开发的所有 Visual Studio 项目以及任何"SharePoint 2010"项目类型必须将"x64"或者"任何 CPU"作为目标 CPU 平台。这两种选择各有利弊。

    • "x64"是更准确的选择,因为面向 SharePoint Foundation 服务器对象模型开发的解决方案不能 面向"任何"CPU。然而,若要将"x64"设置为目标,则必须对面向"x64"的每个 Visual Studio 解决方案重复启用 x64 作为 CPU 平台目标过程(在本主题的下文中提供)。此外,因为一些经常调用的 Microsoft 程序集(如 System.Data.dll 和 mscorlib.dll)本身是针对"任何 CPU"编译的,所以您可能会收到编译器警告(不是错误),提示您引用的程序集面向其他处理器。

    • "任何 CPU"是最简单的选择,因为它始终作为选项提供并且无需特殊过程即可启用。然而,它会在一定程度上产生误导,因为它似乎暗示生成的程序集可以在 x86 计算机上使用,但事实并非如此。此外,针对"任何 CPU"生成的程序集可能要比针对"x64"生成的程序集占用更多的磁盘空间。

    警告注释警告

    将面向服务器对象模型的项目设置为"x86"CPU 平台目标通常不会生成编译器错误。但是您将遇到运行时错误和异常运行时行为。例如,获取对 SharePoint Foundation SPFarm 对象的引用的代码返回 null,获取对子对象(如 Web 应用程序)的引用的代码将引发 FileNotFoundException

  • 面向客户端对象模型开发的 Visual Studio 项目通常应该将"任何 CPU"设置为目标 CPU 平台,因为您通常希望客户端应用程序在 x86 和 x64 计算机上运行。然而,如果应用程序仅在一种类型的客户端计算机上运行,请指定"x86"或"x64"。若要将"x64"设置为目标,需要执行本主题下文提供的过程启用 x64 作为 CPU 平台目标中列出的步骤。

  • 一个 Visual Studio 解决方案可以包含多个项目;在同一解决方案中,可以同时包含"SharePoint 2010"项目类型的项目和非"SharePoint 2010"项目类型的其他项目。如果"SharePoint 2010"项目引用另一类型的项目或反之,则它们必须具有相同的目标 CPU 平台。例如,如果您的解决方案是在 SharePoint Foundation 服务器上运行的控制台应用程序,则可能要利用"SharePoint 2010"项目类型的自动部署和收回功能。在这种情况下,Visual Studio 解决方案可以包含一个"空白 SharePoint 项目"和一个"控制台应用程序"项目。可以使用"包属性"窗口的"高级"选项卡的"添加其他程序集"功能将控制台应用程序的可执行文件添加到 SharePoint 项目的包中。添加"控制台应用程序"项目时,它默认情况下将"x86"作为目标 CPU 平台,但是"空白 SharePoint 项目"(与所有"SharePoint 2010"项目类型一样)默认情况下将"任何 CPU"作为目标 CPU 平台。将可执行文件添加到包后,您将遇到编译器错误,直到将两个项目设置为相同的目标 CPU 平台。必须将控制台应用程序更改为面向"任何 CPU",或者将两个项目更改为面向"x64"。

启用 x64 作为 CPU 平台目标

  1. 创建项目后,在 Visual Studio 工具栏上,打开"解决方案平台"下拉列表框。

  2. 单击"配置管理器"。

  3. 在"配置管理器"对话框中,打开"活动解决方案平台"下拉列表框并单击"<新建> …"。

  4. 在"新建解决方案平台"对话框的"键入或选择新平台"下拉列表框中,选择"x64"。

  5. 在"从此处复制设置"下拉列表框中选择"x86"。

  6. 单击"确定"。

  7. 在"配置管理器"对话框中,确保"生成"列中与解决方案内的所有项目对应的框均处于选中状态。

  8. 单击"关闭"。