Visual Studio 2008 Service Pack 1 (SP1) 自述文件

目录

1. 系统要求

1.1.支持的体系结构
  • x86
  • x64 (WOW)
  • 1.2.支持的操作系统

  • Microsoft Windows XP
  • Microsoft Windows Server 2003
  • Microsoft Windows Server 2008
  • Windows Vista


  • 1.3.硬件要求
  • 系统驱动器上有 3.8 GB 的可用空间,另外在安装 Visual Studio 的驱动器上有 600 MB 的可用空间
        注意:可以使用磁盘清理实用工具来移除临时文件。  
  • 最低要求:1.6 GHz CPU,1024x768 显示器,5400 RPM 硬盘
  • 建议配置:2.2 GHz 或更快的 CPU,1280x1024 显示器,7200 RPM 或更快的硬盘 
  • 在 Windows Vista 上:2.4 GHz CPU
  • 2. 已知问题

    2.1 安装

    2.1.1 Microsoft Synchronization Services for ADO.NET 1.0 for Devices 安装要求

    Microsoft Synchronization Services for ADO.NET 1.0 for Devices 不随 VS2008 SP1 一起安装。用户必须下载 .msi 文件才能启用“智能设备”项目中的“本地数据库缓存”功能。

    解决此问题的方法:

    从下载中心下载并安装 Microsoft Synchronization Services for ADO.NET 1.0 for Devices 的 .msi 文件。

    http://www.microsoft.com/downloads/details.aspx?FamilyId=75FEF59F-1B5E-49BC-A21A-9EF4F34DE6FC&displaylang=en

    2.1.2 安装 Visual Studio 2008 SP1 失败并显示“无法与服务器建立连接”消息

    安装 Visual Studio 2008 SP1 失败并显示“无法与服务器建立连接”消息。
    以下是导致这种失败的可能原因: 最可能的原因是由目标计算机上的防火墙所致。

    解决此问题的方法:

    向防火墙添加 SPInstaller 例外。这将使防火墙停止阻止 SpInstaller 所要求的通信。然后,再次运行 Visual Studio 2008 SP1 安装。
    在 Windows XP 计算机上:
    1. 打开“控制面板”。
    2. 单击“Windows 防火墙”。
    3. 单击“例外”选项卡。
    4. 单击“添加程序”。
    5. 将 SPInstaller 添加到程序列表中。
    6. 单击“确定”。
    7. 重新启动计算机。
    在 Windows Vista 计算机上:
    1. 打开“控制面板”。
    2. 单击“Windows 防火墙”。
    3. 单击“允许程序通过 Windows 防火墙”。
    4. 单击“例外”选项卡。
    5. 单击“添加程序”。
    6. 将 SPInstaller 添加到程序列表中。
    7. 单击“确定”。
    8. 重新启动计算机。

    2.1.3 在 Windows 7 RC 上安裝 SQL Server 會產生相容性警告

    當您嘗試將 SQL Server 2008 RTM 或 SQL Server 2005 RTM/SP1/SP2 安裝在 Windows 7 RC 時會收到警告,指出 SQL Server 針對這個 Windows 版本會有已知的相容性問題。因為 SQL Server 是由 Visual Studio 轉散發的,使用者伴隨 Visual Studio 一同安裝 SQL Server 時,所選擇的安裝所在程式就會受到影響。這個會引起相容性謷告的問題已經在 SQL Server 2008 SP1 和 SQL Server 2005 SP3 中修正。

    若要解決這個問題:

    安裝 Visual Studio 2008 並選取安裝 SQL Server 2005 Express Edition SP2 (預設為選取狀態)。

    1. 在安裝期間,當您收到相容性警告時按一下 [執行程式]。


    2. 安裝完成時,請在這裡下載和安裝 SQL Server 2005 Express Edition SP3。(注意:x64 版本位於頁面底部)。


    3. 在 SQL Server 2005 Express Edition SP3 安裝期間,務必升級原有的安裝。


    4. 您可以按照這裡的指示確認您的 SQL Server 2005 Express Edition 版本。

    或者,您可以在安裝 Visual Studio 2008 前先安裝 SQL Server 2005 Express Edition SP3。

    詳細資訊:

    如果您必須在 Windows 7 RC 上安裝 SQL Server 2008,且不要收到警告訊息,您可自行建立包含 Service Pack 1 的 SQL Server 2008 套件。請按照 Peter Saddow 指示的步驟執行:建立包含 SQL Server 2008 RTM 和 Service Pack 1 的合併式 (匯集式) 安裝包

    2.1.4 卸载修补程序可能会使其他 Visual Studio 产品中的文件降级

    将 Visual Studio 2008 SP1 应用于计算机上的多种产品(例如,Visual Studio 2008 英文版和 Visual Studio 2008 西班牙语版)时,从其中一个产品卸载 SP1 会使其他 Visual Studio 2008 产品的文件降级。

    解决此问题的方法:

    修复仍安装有 Visual Studio 2008 SP1 的产品,或者同时卸载这些产品的 SP1。

    对于 Windows Vista 或更高版本:

    1. 打开“控制面板”。
    2. 单击“程序”。
    3. 单击“卸载程序”。
    4. 选择仍安装有 SP1 的 Visual Studio 2008 版本。
    5. 单击“卸载/更改”。
    6. 提示时单击“继续”以进行提升。
    7. 加载安装组件后单击“下一步”。
    8. 单击“修复/重新安装”。

    对于 Windows Vista 之前的操作系统:

    1. 打开“控制面板”。
    2. 单击“添加或删除程序”。
    3. 单击“卸载/更改”。
    4. 加载安装组件后单击“下一步”。
    5. 单击“修复/重新安装”。

    2.1.5 在启用 Windows Vista 边栏时 Visual Studio 2008 SP1 安装失败。

    在启用 Windows Vista 边栏时 Visual Studio 2008 SP1 安装失败。

    解决此问题的方法:

    1. 右击任务栏最右侧的通知区域中的“边栏”图标。
    2. 单击“退出”。

    2.1.6 每种语言版本的 Visual Studio 都需要相应语言版本的 Service Pack

    安装语言版本不匹配的 Visual Studio 2008 RTM 和 Visual Studio 2008 SP1 会导致功能被破坏或者用户界面采用混合语言。
    支持的方案:

    解决此问题的方法:

    1. 卸载 Visual Studio 2008 SP1。
    2. 执行 Visual Studio 2008 RTM 的维护模式修复。
    3. 安装 Visual Studio 2008 SP1 的匹配语言版本。

    2.1.7 卸载 Windows SDK 会影响 Visual Studio 2008

    如果安装了 Windows SDK for Windows Vista 或 Windows SDK Update for Windows Vista,则在卸载 Windows SDK 时,Visual Studio 查找 Windows 头文件、库和工具所需的注册表项将被移除。

    解决此问题的方法:

    执行以下两项操作之一:

    2.1.8 在安装 Visual Studio 2008 SP1 的过程中将不会安装 MSDN Library for Visual Studio 2008 SP1

    在安装 Visual Studio 2008 SP1 的过程中,将不会在计算机上安装 MSDN Library for Visual Studio 2008 SP1。

    解决此问题的方法:

    可单独下载 MSDN Library for Visual Studio 2008 SP1。请访问 Microsoft 下载中心

    2.1.9 SQL Server Compact 3.5 SP1 for Devices Windows Installer (MSI) 文件不随 Visual Studio 2008 SP1 一起安装,但是可通过下载获得

    SQL Server Compact 3.5 SP1 for Devices Windows Installer (MSI) 文件包含在移动设备上安装 SQL Server Compact 3.5 SP1 所需的移动设备运行时文件。在 Visual Studio 2008 的已发行版本上安装 Visual Studio 2008 SP1 不会将 SQL Server Compact 3.5 for Devices MSI 更新为 SP1 版。

    解决此问题的方法:

    SQL Server Compact 3.5 SP1 for Devices MSI 可从 Microsoft 下载中心下载获得。

    2.1.10 在 Windows Vista 上安装 Visual Studio 2008 SP1 的过程中显示 Windows 自动更新通知

    在未安装 .NET Framework 2.0 SP2 和 .NET Framework 3.0 SP2 的 Windows Vista 计算机上安装 Visual Studio 2008 SP1 时,可能会显示要求重新启动计算机的 Windows 自动更新通知。若允许立即重新启动 Windows Update,则将导致 Visual Studio 安装程序失败。

    解决此问题的方法:

    请将重新启动推迟到 Visual Studio SP1 安装完成后再执行。

    2.1.11 当 .NET Framework 2.0 SP2 无法升级 .NET Framework 2.0 或 .NET Framework 2.0 SP1 时,Visual Studio 2008 SP1 安装失败

    .在已安装 .NET Framework 2.0 或 .NET Framework 2.0 SP1 并运行 Windows XP、Windows Server 2003 或 Windows 2000 的计算机上无法安装 NET Framework 2.0 SP2。

    .NET Framework 2.0 SP2 安装程序将卸载早期版本的 .NET Framework 2.0 和 .NET Framework 2.0 SP1。当 Windows Installer 卸载早期版本时,它将使用缓存的安装数据库。执行卸载操作的过程中,如果 Windows Installer 在其缓存中或原始源位置找不到早期更新的安装包,则安装将失败。如果发生不完整的回滚,此安装失败还可能导致使用 .NET Framework 的应用程序失败。

    此问题可能是由以下某一原因导致的:

    Windows Installer 缓存缺少必需的文件。

    Windows Installer 缓存已更改。此缓存对于修复、更新和卸载产品至关重要。因此,请不要移除或修改此缓存的内容。如果更改此缓存的内容,则当您尝试更新或修复基于 Windows Installer 的产品时,系统可能会提示您提供源。

    有时,Windows Installer 应能够在缓存中找到的 Windows Installer 修补程序 (.msp) 文件可能不存在。有以下两个可能导致 .msp 文件丢失的常见原因:
    - 已运行用于在硬盘上查找和删除大型文件或很少使用的文件的工具。
    - %windir%\Installer 目录的所有者已由 SYSTEM 或 Administrators 更改为其他用户。

    如果出现此问题,Windows Installer 的安装失败日志将显示与以下内容类似的信息:
    MSI (s) (D0:B0) [19:05:57:843]: 找不到本地修补程序“C:\WINDOWS\Installer\a4784a.msp”。在相应的源中查找它。
    MSI (s) (D0:B0) [19:05:57:843]: 解析修补程序源。
    在发生此问题时,可以使用 Microsoft .NET Framework Registration Correction Tool 解决它。此工具修复此问题的方式是:删除特定于此更新的所有修补程序或更新注册,从而使维护安装不会尝试加载特定的 .msp 文件。

    也可以尝试通过重建安装程序缓存来解决此问题。通常可以在“解析修补程序源”后跟的行中查找修补程序或更新所对应的知识库文章编号,如以下示例所示:
    MSI (s) (D0:B0) [19:05:57:859]: SOURCEMGMT: 由于程序包丢失/不可访问,导致源无效。
    MSI (s) (D0:B0) [19:05:57:859]: 注意: 1: 1706 2: -2147483647 3: NDP20-KB917283-X86.msp

    若要修复此示例中的 Windows Installer 缓存,请按照下列步骤操作:
    1. 访问以下 Microsoft 网站:http://support.microsoft.com/kb/917283 ()。注意:可以将 URL 中的知识库文章编号替换为要用于修复 Windows Installer 缓存的修补程序或更新的知识库文章编号。
    2. 下载更新。
    3. 使用 /x 命令行开关或 /extract 命令行开关提取修补程序或更新中的 .msp 文件。
    4. 将提取到的 .msp 文件复制到缺失文件的位置。在此示例中,该位置为 %windir%\Installer\a4784a.msp。

    修补程序注册或更新注册可能已损坏。

    在基于 Windows Installer 的产品上安装修补程序或更新后,修补程序注册或更新注册可能损坏。用于移除某些注册表项的第三方注册表清理器实用工具可能会导致出现此问题。这些注册表项包括旨在供 Windows Installer 内部使用的注册表项。在此情况下,日志中的“解析修补程序源”消息的内容如下:
    MSI (s) (CC:5C) [03:02:56:181]: 找不到本地修补程序。在相应的源中查找它。
    MSI (s) (CC:5C) [03:02:56:181]: 解析修补程序源。
    注意:由于缺少修补程序或更新的注册信息,导致日志消息中缺少修补程序或更新的位置。在此情况下,仍将向产品注册修补程序或更新。但修补程序或更新的位置信息将缺失。尽管 Windows Installer 要求加载的文件可能存在,但 Windows Installer 不知道该文件的路径。

    在发生此问题时,可以使用 Microsoft .NET Framework Registration Correction Tool 解决它。此工具修复此问题的方式是:删除特定于此 Service Pack 的所有修补程序或更新注册,从而使维护安装不会尝试加载修补程序或更新程序包。

    解决此问题的方法:

    如果无法成功安装 .NET Framework 2.0 SP2,并且在安装日志文件中找到“原因”一节中所述的“解析修补程序源”文本,则可以下载 Microsoft .NET Framework Registration Correction Tool 来解决此问题。

    Microsoft .NET Framework 2.0 注册更正工具
    Microsoft .NET Framework Registration Correction Tool 可解决“原因”一节中所述的两个问题。
    可从 Microsoft 下载中心下载以下文件:

    立即下载 Microsoft .NET Framework 2.0 注册更正工具程序包。 http://www.microsoft.com/downloads/details.aspx?FamilyID=0BA6038C-061E-4B4A-9BE9-96A323701260

    Microsoft 下载中心针对 .NET Framework 2.0 支持的每类处理器架构(x86、x64 和 IA-64)提供了此工具的一个版本。大多数客户运行的是 32 位版本的操作系统。因此,这些客户应下载和安装此工具的 x86 版本。
    管理员还可以通过传递 /q 命令行开关或 /quiet 命令行开关,在脚本中使用此实用工具。这样,您就能够以静默模式运行应用程序,而无需使用用户界面和阻止脚本。
    此工具将在 %TEMP%\dd_clwireg.txt 文件夹下写入一个运行日志。可以查看该日志以了解有关此工具所做工作的详细信息。

    注意
    - Microsoft .NET Framework Registration Correction Tool 适用于任何当前版本的 .NET Framework。
    - 您必须是管理员才能运行此实用工具。

    2.1.12 所有 Visual Studio 2008 实例都必须升级到 Service Pack 1

    在具有多个版本(包括语言版本)的 Visual Studio 2008 产品的计算机上,所有版本都应升级到 Service Pack 1。 Visual Studio 2008 产品依赖共享资源,仅升级一个版本可能会将其他 Visual Studio 2008 版本置于不受支持的状态。

    解决此问题的方法:

    将所有版本(包括语言版本)的 Visual Studio 2008 升级到 Service Pack 1。

    2.1.13 卸载 Visual Studio 2008 SP1 测试版可能导致生成一个报告,指出压缩文件具有无效的数字签名

    卸载 Visual Studio 2008 SP1 测试版或运行 Visual Studio 2008 修补程序移除工具可能会生成消息 1330(压缩文件具有无效的数字签名),并且可能要求提供安装源。

    此问题最常见的原因是间歇性的磁盘读取错误或网络传输问题。

    解决此问题的方法:

    卸载 Visual Studio 2008 SP1 测试版或重新运行 Visual Studio 2008 修补程序移除工具。

    如果问题仍然存在,

    1. 如果您使用 Visual Studio 2008 修补程序移除工具,请将它保存到本地硬盘。
    2. 将 Visual Studio 2008 RTM 安装文件从原始媒体或网络位置复制到本地目录(例如,%TEMP%\VS2008)。
    3. 移除原始安装媒体或断开网络电缆的连接。
    4. 再次卸载 Visual Studio 2008 SP1 测试版或重新运行 Visual Studio 2008 修补程序移除工具,并在系统要求您提供源位置时指定 Visual Studio 2008 安装文件的本地路径。

    2.1.14 安装 SP1 后,不应从媒体运行 Visual Studio 修复

    安装 Visual Studio SP1 后,请不要从原始发行版本 (RTM) 安装媒体运行 Visual Studio 修复。  随 Visual Studio 2008 SP1 安装的程序包较新,由于它们在原始发行版本安装媒体上不存在,因此只能使用“添加或删除程序”来修复。

    解决此问题的方法:

    修复 Visual Studio 2008 SP1:

    1. 从控制面板中打开“添加或删除程序”。
    2. 选择“Visual Studio 2008”,单击“更改”。
    3. 在维护窗口中选择“修复 Visual Studio”。

    下列组件必须单独使用“添加或删除程序”来修复:

    - Microsoft .NET Compact Framework
    - Microsoft 远程调试器
    - Microsoft Visual Studio Tools for Office
    - Microsoft SQL Server Compact Edition
    - Microsoft Windows Mobile SDK

    2.1.15 在 x64 计算机上修复 Visual Studio 2008 标准版 Service Pack 1 失败

    Visual Studio 修复的检测逻辑错误,因为缺少一个注册表值。  这种情况只会发生在安装了 Visual Studio 标准版的 x64 计算机上。

    解决此问题的方法:

    1. 打开 Windows 资源管理器。

    2. 导航到 ..Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x64。

    3. 记录 msvsmon.exe 的文件版本。  (右击并检查属性,或者仅仅将鼠标悬停在属性上并阅读工具提示。)

    4. 打开 Regedit,在以下位置添加两个名称均为“Version”且包含当前版本字符串的字符串注册表值:

          HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Remote Debugger Lite Setup\9.0\1033

          HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Remote Debugger Lite Setup\9.0\1033

    2.1.16 “Microsoft SQL Server 数据库发布向导 1.3”无法完全通过“添加或删除程序”进行修复

    如果尝试使用“添加或删除程序”来修复“Microsoft Sql Server 数据库发布向导 1.3”(随 Visual Studio 2008 Service Pack 1 或 Visual Web Developer 2008 SP1 一起安装的版本),可能遇到下列问题之一:

    a.“Microsoft Sql Server 数据库发布向导 1.3”组件下面没有“修复”按钮。

    b. 有“修复”按钮,但执行修复会导致安装旧版的向导,即“Microsoft Sql Server 数据库发布向导 1.2”。

    c. 有“修复”按钮,但执行修复会导致系统要求提供 SqlPubWiz.msi 的源。

     

    解决此问题的方法:

    Windows XP / Vista

    1. 打开控制面板,转到“添加或删除程序”。

    2. 右击组件“Microsoft Sql Server 数据库发布向导 1.3”(如果由于上面的原因 (b) 而安装了“Microsoft Sql Server 数据库发布向导 1.2”,则为此旧版本),然后单击“卸载”。等待卸载完成。

    3. 从 http://go.microsoft.com/fwlink/?LinkId=119368  运行 SqlPubWizInstaller.exe 以重新安装“Microsoft Sql Server 数据库发布向导 1.3”。可以通过在“添加或删除程序”中查看来验证它是否已安装。

    2.1.17 当计算机上安装了不兼容的测试版组件时,Visual Studio 2008 SP1 将阻止安装

    由于下列预发行程序和更新使得 Visual Studio 2008 SP1 无法成功安装,因此必须先将它们移除,然后才能安装 Visual Studio 2008 SP1
    - Microsoft Silverlight Tools Beta 1
    - Microsoft Visual Studio 2008 - KB949325
    - Microsoft Visual Studio 2008 - KB944899 (v1)
    - Microsoft Visual Studio 2008 - KB945140(SP1 测试版)
    若要移除这些程序,建议您运行自动化 Visual Studio 2008 Service Pack 准备工具。此工具从您的系统上移除指定的更新和程序,并还原可能在手动移除 Visual Studio 2008 SP1 测试版本的过程中遭到破坏的任何 Visual Studio 2008 功能的完整性。

    解决此问题的方法:

    1. 访问 Visual Studio 2008 Service Pack 准备工具下载页 http://go.microsoft.com/fwlink/?LinkID=121685&clcid=0x409
    2. 按照该网页上的说明下载并运行此工具。

    2.1.18 由于 Visual Studio Tools for Office 3.0 语言包已存在,Visual Studio 2008 Service Pack 1 不能安装在非英语 VSTT 计算机上

    安装 Visual Studio 2008 SP1 的更新时,由于已安装 Visual Studio Tools for Office 3.0 语言包,您可能会看到一个 Windows Installer 1638 错误。如果安装了非英语版的 Visual Studio Team Test 2008 以及 VSTO 3.0 运行时和对应的语言包,将发生这种情况。VSTO 3.0 运行时也可能安装在其他 Visual Studio 产品(例如 Team Foundation Client)中。
    “ERROR_PRODUCT_VERSION 1638 已安装此产品的另一版本。无法继续安装此版本。要配置或移除此产品的现有版本,请使用控制面板上的‘添加/删除程序’”。

    解决此问题的方法:

    1. 使用“添加或删除程序”(在 Windows XP 中)或“程序和功能”(在 Windows Vista 中)卸载 Visual Studio Tools for Office 3.0 运行时语言包。
    2. 重新运行 Visual Studio 2008 SP1 安装程序 (SPInstaller.exe)。

    2.1.19 安装 Visual Studio 2008 SP1 会破坏 Windows SDK 配置工具

    安装 Visual Studio 2008 SP1 会破坏 Windows SDK for Windows Server 2008 和 .NET Framework 3.5 中的 Windows SDK 配置工具。此工具用于设置在 Visual Studio 中用于生成的 Windows SDK 头文件、库和工具的版本。安装 VS 2008 SP1 后,该配置工具将会在 X86 计算机上遇到未处理的异常,从而崩溃。此工具的 UI 将在 X64 计算机上显示为一个空白对话框。此问题不影响 VS 2008 Express SKU。

    此配置工具依赖于一个注册表项值,该值被 Service Pack 修补程序覆盖为无效内容。安装 SP1 修补程序后,HKLM\Software\Microsoft\Microsoft SDKs\Windows\v6.0a 子项 ProductVersion 设置为“v6.0A”。此工具要求该值是一个格式为 6.xxx.xxx.xxx 的内部版本号。在 X64 计算机上,另一个注册表项被无效值覆盖:HKLM\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v6.0A@ProductVersion。

    解决此问题的方法:

    修复 Visual Studio 2008 以重置 ProductVersion 值。
    1. 打开控制面板并选择“产品和功能”(在 Vista 之前的操作系统上,为“添加/删除程序”)
    2. 选择“Microsoft Visual Studio 2008”并单击“卸载/更改”。Visual Studio 2008 安装程序向导启动。
    3. 当系统提示时,选择“修复/重新安装 Visual Studio 2008”。(此操作将不会移除 Service Pack。)
    或者,高级用户也可以手动更新注册表项以设置 ProductVersion 值“6.0.6001.17011”。编辑注册表之前,请先查看文章 Windows registry information for advanced users(针对高级用户的 Windows 注册表信息)

    需要其他解决方法才能在 VS 2008 上以 GUI 模式使用 SDK 配置。请参考 Windows SDK 博客文章 WinSDK bug notification: SDK Config Tool appears to work but fails(WinSDK Bug 通知:SDK 配置工具似乎能够工作,但却失败)

    2.1.20 Visual Studio 2008 SP1 的管理部署

    利用此方法,用户可以通过 Microsoft Systems Management Server (SMS) 或其他软件分发工具进行部署。网络管理员最初运行安装程序在网络共享上创建完整的 Visual Studio SP1 布局,然后通过在无人参与模式下运行安装程序来部署该布局。必须创建完整布局才能防止安装程序从 Internet 下载负载软件包。当在无人参与模式下运行时,Service Pack 1 安装程序将静默更新所有检测到的指定语言的 Visual Studio 2008 实例。如果发生错误,安装程序将失败并退出且不发出任何提示。每个 SP1 布局都针对一种特定的语言,在具有不同语言版本的 Visual Studio 的环境中,可能需要创建多个布局。如果系统未安装目标语言,Service Pack 1 安装程序将失败,且不发出任何提示。

    若要使用 SMS 部署组件,必须执行以下步骤:
    1. 创建完整的 SP1 布局
    2. 创建组件包
    3. 创建组件程序
    4. 创建组件分发点
    5. 创建组件广告

    步骤 1:创建完整 SP1 布局
    1. 在服务器上创建一个文件夹。例如 <驱动器>:\VS90SP1
    2. 下载 Microsoft Visual Studio 2008 Service Pack 1(安装程序)并将它保存在计算机本地(即 %Temp%\VS90sp1-KB945140-ENU.exe)
    3. 从“开始”菜单中选择“运行”
    4. 键入下面的命令开始将所有 SP1 负载组件下载到创建的目录:
      %TEMP%\VS90sp1-KB945140-ENU.exe /createlayout <驱动器>:\VS90SP1 /q

      注意:此下载过程 (~850Mb) 可能需要一定的时间,具体取决于连接速度。然后可以通过从创建的布局(包括采用给定区域设置的一组完整的 SP1 更新)调用 SPInstaller.exe 来安装 Service Pack 1。若要进行手动部署,可以将 /q 参数替换为 /passive 来显示下载/安装进度。
    步骤 2:创建组件包
    1. 单击“开始”,指向“程序”,然后单击“Systems Management Server”打开 SMS Administrator 控制台。
    2. 在“站点数据库”树中,右击“数据包”,指向“新建”,然后单击“数据包”。
    3. 在“数据包属性”对话框的“常规”选项卡上,将下列值添加到相应的字段中。

      字段

      名称

      Microsoft Visual Studio 2008 Service Pack 1

      版本

      SP1

      发行者

      Microsoft

      语言

      <组件语言>


    4. “数据源”选项卡上,单击以选中“此包包含源文件”复选框,然后单击“始终从源目录获取文件”
    5. 单击“设置”
    6. “设置源目录”对话框中单击“站点服务器上的本地驱动器”,然后单击“浏览”
    7. “浏览文件夹”对话框中,选择要安装的组件的文件夹(如 <驱动器>:\VS90SP1)。
    8. 单击“确定”三次关闭对话框。

    步骤 3:创建组件程序
    每个 SMS 数据包都包含至少一个 SMS 程序。SMS 程序是一个命令行程序,它运行在每个目标计算机上,用于控制数据包的运行方式。
    1. SMS Administrator 控制台“站点数据库”树中的“数据包”下,展开相应的节点。
    2. 右击“程序”,指向“新建”,然后单击“程序”
    3. “程序属性”对话框的“常规”选项卡上,在“名称”框中键入 Microsoft Visual Studio 2008 SP1。然后,在“命令行”框中键入 SPInstaller.exe /q /norestart
    4. 在“运行后”列表中,选择基于以下列表的相应值。
    5. 在“环境”选项卡上,单击以清除“需要用户输入”复选框,然后单击“使用管理员权限运行”
    6. 单击“确定”关闭“程序属性”对话框。

    步骤 4:创建组件分发点
    SMS 分发点在站点系统上共享。将数据包源文件复制到 SMS 分发点,以便客户端计算机可以访问源文件。
    1. 在 SMS Administrator 控制台的“站点数据库”树中的相应节点下,右击“分发点”,指向“新建”,然后单击“分发点”
    2. 在“新建分发点向导”中,单击“下一步”
    3. 选择要将数据包复制到其中的分发点。
    4. 单击“完成”

    步骤 5:创建组件广告
    广告指定了客户端计算机可以使用的程序、将会接收广告的计算机以及程序的预定安装时间。
    1. 在 SMS Administrator 控制台的“站点数据库”树中,右击“广告”,指向“新建”,然后单击“广告”。
    2. “广告属性”对话框的“常规”选项卡上,在“名称”框中键入 Microsoft Visual Studio 2008 SP1
    3. 在“数据包”列表中,选择相应的组件。
    4. 在“程序”列表中,选择相应的组件程序。
    5. 单击“浏览”,然后选择要将程序部署到其中的计算机集合。
    6. 单击“确定”关闭“广告属性”对话框。

    2.1.21 FIX:安裝非英文版的 Microsoft Visual Studio 2008 Service Pack 1 後,某些當地語系化的 IntelliSense 文字可能會還原成英文

    當您安裝非英文版的 Microsoft Visual Studio 2008 Service Pack 1 (SP1) 後,某些當地語系化的 IntelliSense 文字可能會還原成英文。下列語言版本的 Visual Studio 2008 SP1 會發生這個問題:

    若要解決這個問題,請參閱 KB 957507 以取得詳細資訊並下載檔案。

    2.2 卸载

    没有已知问题。

    2.3 产品问题

    2.3.1 一般问题

    2.3.1.1 为 .NET Framework 3.5 SP1 引导程序包启用 Samesite

    如果在安装项目的“系统必备”对话框中或在“ClickOnce 发布”中选中 .NET Framework 3.5 SP1 引导程序包,并且选中“从与我的应用程序相同的位置下载系统必备组件”选项,则将显示下面的生成错误: 

    系统必备的安装位置未设置为“组件供应商的网站”,无法在磁盘上找到项“Microsoft.Net.Framework.3.5.SP1”中的文件“dotNetFx35setup.exe”。

    解决此问题的方法:

    更新包数据
    1. 打开 [Program Files]\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1 文件夹或 %ProgramFiles(x86)%\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1(在 x64 操作系统上)
    2. 在“记事本”中编辑 Product.xml 文件。
    3. 将下面的内容粘贴到 < PackageFiles > 元素中:
      <PackageFile Name="TOOLS\clwireg.exe"/>
      <PackageFile Name="TOOLS\clwireg_x64.exe"/>
      <PackageFile Name="TOOLS\clwireg_ia64.exe"/>
    4. 找到 < PackageFile Name="dotNetFX30\XPSEPSC-x86-en-US.exe" 元素,将 PublicKey 值更改为:3082010A0282010100A2DB0A8DCFC2C1499BCDAA3A34AD23596BDB6CBE2122B794C8EAAEBFC6D526C232118BBCDA5D2CFB36561E152BAE8F0DDD14A36E284C7F163F41AC8D40B146880DD98194AD9706D05744765CEAF1FC0EE27F74A333CB74E5EFE361A17E03B745FFD53E12D5B0CA5E0DD07BF2B7130DFC606A2885758CB7ADBC85E817B490BEF516B6625DED11DF3AEE215B8BAF8073C345E3958977609BE7AD77C1378D33142F13DB62C9AE1AA94F9867ADD420393071E08D6746E2C61CF40D5074412FE805246A216B49B092C4B239C742A56D5C184AAB8FD78E833E780A47D8A4B28423C3E2F27B66B14A74BD26414B9C6114604E30C882F3D00B707CEE554D77D2085576810203010001
    5. 找到 < PackageFile Name="dotNetFX30\XPSEPSC-amd64-en-US.exe" 元素,将 PublicKey 值更改为与上面步骤 4 中的值相同
    6. 保存 product.xml 文件
    7.  
    下载并提取核心安装文件
    1. 导航到以下 URL:http://go.microsoft.com/fwlink?LinkID=118080
    2. 将 dotNetFx35.exe 文件下载到本地磁盘上。
    3. 打开“命令提示符”窗口,然后更改到下载 dotNetFx35.exe 的目录。
    4. 在命令提示处,键入:
      dotNetFx35.exe /x:.
      这会将 Framework 文件提取至当前目录下的一个名为“WCU”的文件夹中。
    5. 复制 WCU\dotNetFramework 文件夹的内容并将其粘贴到 %Program Files%\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1 文件夹中(在 x64 操作系统上为 %ProgramFiles(x86)%\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1)。注意:请不要复制 WCU\dotNetFramework 文件夹自身。WCU 文件夹下应包括 5 个文件夹,现在每个文件夹应显示在 DotNetFx35SP1 文件夹中。文件夹结构应类似如下:
      o DotNetFx35SP1(文件夹)
    下载语言包支持文件
    1. 有关下载位置,请参考下表。
    2. 导航至所提供的 URL,出现提示后,下载到表中所指示的 dotNetFx35SP1 文件夹的子目录中。注意:必须对 x86 和 x64 文件各执行一次该操作,即使您的包无需支持 x64 也是如此。

    语言

    体系结构

    源 URL

    目标

    中文(简体)

    x86

    http://go.microsoft.com/fwlink?LinkID=118146

    zh-CHS\DotNetFX35\x86

    x64

    http://go.microsoft.com/fwlink?LinkID=118151

    zh-CHS\DotNetFX35\x64

    中文(繁体)

    x86

    http://go.microsoft.com/fwlink?LinkID=118087

    zh-CHT\DotNetFX35\x86

    x64

    http://go.microsoft.com/fwlink?LinkID=118050

    zh-CHT\DotNetFX35\x64

    英语

    x86

    N/A

    N/A

    x64

    N/A

    N/A

    法语

    x86

    http://go.microsoft.com/fwlink?LinkID=118148

    fr\DotNetFX35\x86

    x64

    http://go.microsoft.com/fwlink?LinkID=118153

    fr\DotNetFX35\x64

    德语

    x86

    http://go.microsoft.com/fwlink?LinkID=118149

    de\DotNetFX35\x86

    x64

    http://go.microsoft.com/fwlink?LinkID=118154

    de\DotNetFX35\x64

    意大利语

    x86

    http://go.microsoft.com/fwlink?LinkID=118097

    it\DotNetFX35\x86

    x64

    http://go.microsoft.com/fwlink?LinkID=118115

    it\DotNetFX35\x64

    日语

    x86

    http://go.microsoft.com/fwlink?LinkID=118096

    ja\DotNetFX35\x86

    x64

    http://go.microsoft.com/fwlink?LinkID=118114

    ja\DotNetFX35\x64

    朝鲜语

    x86

    http://go.microsoft.com/fwlink?LinkID=118147

    ko\DotNetFX35\x86

    x64

    http://go.microsoft.com/fwlink?LinkID=118152

    ko\DotNetFX35\x64

    葡萄牙语 - 巴西

    x86

    http://go.microsoft.com/fwlink?LinkID=118092

    pt-BR\DotNetFX35\x86

    x64

    http://go.microsoft.com/fwlink?LinkID=118110

    pt-BR\DotNetFX35\x64

    俄语

    x86

    http://go.microsoft.com/fwlink?LinkID=118090

    ru\DotNetFX35\x86

    x64

    http://go.microsoft.com/fwlink?LinkID=118108

    ru\DotNetFX35\x64

    西班牙语

    x86

    http://go.microsoft.com/fwlink?LinkID=118101

    es\DotNetFX35\x86

    x64

    http://go.microsoft.com/fwlink?LinkID=118119

    es\DotNetFX35\x64

    2.3.1.2 安装 Visual Studio 2008 RTM 和 Visual Studio 2008 SP1 RTM 后,redist mfc90rus.dll 未得到更新

    - 安装 Visual Studio 2008 SP1 RTM 修补程序后 redist 文件夹中不存在 mfc90rus.dll。

    - 用户将无法使用俄语资源来编写并分发本地化的应用程序。

    解决此问题的方法:

    用户可以将 MFC90RUS.DLL 从 winsxs 文件夹复制到 redist 文件夹。

    2.3.1.3 在某些情况下,安装 Visual Studio 2008 SP1 的过程中可能会发生对原始安装媒体的请求

    如果在安装 Visual Studio 2008 的过程尚未选中以下功能,则在 Visual Studio 2008 SP1 的安装过程中可能会请求原始安装媒体:

    在“Visual C++ 类和模板库”之下

    - ATL MFC 源代码

    - ATL MFC 静态库 ANSI

    - ATL MFC 静态库 Unicode

    - ATL MFC 共享库 ANSI

    - ATL MFC 共享库 Unicode

    在“Visual C++ 工具”下

    - MFC 跟踪实用工具

    - Visual C++ 错误查找

    - Win32 工具

    解决此问题的方法:

    提供原始媒体。

    2.3.1.4 即使已将对 System.Data.Entity 的引用添加到项目中,目标 .NET Framework 版本也不是 .NET Framework 3.5 SP1。

    只要在开发过程中选择相应的选项以面向 .NET Framework Client Profile,ClickOnce 就不会自动检查 SP1,即使添加对 System.Data.Entity(需要 SP1)的引用也是如此。

    如果在包含对 System.Data.Entity 的引用的项目中清除“仅限客户端的框架子集”选项,则应用程序将错误地检查不具有 SP1 的 .NET Framework 3.5。

    解决此问题的方法:

    强制使 ClickOnce 检查 .NET Framework 3.5 SP1:

    对于 Visual Basic 项目:

    打开项目属性(在解决方案资源管理器中双击“我的项目”)。
    单击“编译”选项卡。
    单击“高级编译选项”。
    清除“仅限客户端的框架子集”选项。
    从项目中移除对 System.Data.Entity 的引用。
    重新向项目中添加对 System.Data.Entity 的引用。
     

    对于 C# 项目:

    打开项目属性(在解决方案资源管理器中双击“属性”)。
    单击“应用程序”选项卡。
    清除“仅限客户端的框架子集”选项。
    从项目中移除对 System.Data.Entity 的引用。
    重新向项目中添加对 System.Data.Entity 的引用。

    2.3.1.5 即便已安装 .NET Framework Client Profile,ClickOnce 生成的 publish.htm 页面仍尝试安装它。

    publish.htm 页面是在未使用检测目标计算机上是否存在 .NET Framework Client Profile 的脚本的情况下生成的。

    解决此问题的方法:

    1. 确保应用程序面向仅限客户端的框架子集。

    对于 Visual Basic 项目:

    打开项目属性(在解决方案资源管理器中双击“我的项目”)。
    单击“编译”选项卡。
    单击“高级编译选项”。
    选择“仅限客户端的框架子集”选项。
     

    对于 C# 项目:

    打开项目属性(在解决方案资源管理器中双击“属性”)。
    单击“应用程序”选项卡。
    选择“仅限客户端的框架子集”选项。
     

    2. 若要获取正确的脚本,请选择 .NET Framework 3.5 SP1 系统必备组件并发布应用程序。

    3. 在项目的“发布”属性中,将系统必备包改回为 .NET Framework Client Profile 并清除“每次发布后都自动生成部署网页”选项。

    4. 再次发布应用程序。

    2.3.1.6 ADO.NET 实体数据模型设计器中未显示关联连接器或显示在错误的位置

    在两种情况下会出现此问题:

    1. 运行数据库中的更新模型后,为数据库中的新外键创建了关联但并未显示在关系图中。

    2. 在设计器中执行撤消/重做操作之后,关联连线放置在关系图中的错误位置。

    解决此问题的方法:

    以下是几种解决方法:

    - 保存该文件。关闭设计器。再次打开该文件。

    - 右击关系图的空白区域,然后单击“布局关系图”。这样可能会改变以前对关系图所做的任何手动布局更改。

    - 手动移动相关的实体以刷新其呈现效果。

    2.3.1.7 指向 Microsoft Visual Studio 2008 SP1 ReportViewer 的默认重定向链接不正确

    安装和部署项目中提供的指向 Visual Studio 2008 ReportViewer (ReportViewer.exe) 的默认重定向链接错误地重定向到非英语操作系统上的 ReportViewer (ReportViewerLP.exe) 的语言包。

    解决此问题的方法:

    1. 打开 %Program Files%\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\ReportViewer\<区域设置>\package.xml

    2. 在 package.xml 中,用 http://go.microsoft.com/fwlink/?LinkID=98185&clcid=0x409 替换链接 http://go.microsoft.com/fwlink/?LinkID=98185

    3. 确保未更改指向 ReportViewerLP.exe 的链接 http://go.microsoft.com/fwlink/?LinkID=98185&clcid=<CLID>。

    2.3.1.8 无法使用 Visual Studio Team Server 2008 SP1 安装运行负载测试

    在安装 Visual Studio Team Server 2008 SP1 客户端并使用其运行负载测试时,必须使用 Visual Studio Team Server 2008 SP1 控制器才能运行测试。连接到该控制器的所有联机代理还必须是 Visual Studio Team Server 2008 SP1 代理。如果仅在 Visual Studio 客户端上安装 SP1 并且使用未安装 Visual Studio Team Server 2008 SP1 版本的测试远程测试机组运行负载测试,则负载测试将立即失败,并且“测试结果”窗口中将显示“没有执行”。如果在“测试结果”窗口中单击该链接,“测试运行错误和警告”部分中显示的错误将与下面的内容类似:

    未能对测试运行 'username@MYCONTROLLER 2008-06-13 11:17:28' 进行排队: 类型“Microsoft.VisualStudio.TestTools.LoadTesting.LoadTestConstantLoadProfile”的对象无法转换为类型“Microsoft.VisualStudio.TestTools.WebStress.WebTestLoadProfile”。 

    (列出的第一个类型取决于负载测试所使用的负载模式的类型。)

    Visual Studio 客户端、控制器和代理的版本必须匹配,因为 Visual Studio Team Server 2008 SP1 增强了 API 以实现不同的负载测试模式。

    解决此问题的方法:

    将客户端、控制器和代理升级到 Visual Studio 2008 SP1。

    2.3.1.9 在 Windows Vista 中运行程序集缓存查看器

    程序集缓存查看器 (Shfusion.dll) 是一种 Windows 外壳扩展,可让您使用 Windows 资源管理器查看和操作全局程序集缓存的内容。Shfusion.dll 位于 %windir%\Microsoft.NET\Framework\v2.0.50727 目录中。

    在 Windows Vista 中,即使您从具有提升权限的命令窗口中打开程序集缓存查看器(例如,使用带有全局程序集缓存路径的 START 命令),程序集缓存查看器仍然不以提升的权限运行。这是因为程序集缓存查看器是 Windows 资源管理器的外壳扩展,它不以提升的权限运行。

    解决此问题的方法:

    仅将 Shfusion.dll 用于查看目的。

    若要进行更新,请打开一个具有管理特权的命令提示符窗口,然后使用 .NET Framework SDK 中的 Gacutil.exe 命令行工具。

    2.3.1.10 未安装 64 位探查器 SDK

    x64 性能工具目录中缺少 PerfSDK 文件夹。  此文件夹包含需要在分析运行时 API 中链接的 vsperf.h 和 vsperf.lib。

    解决此问题的方法:

    64 位探查器 SDK 将包括在 64 位 SP1 独立探查器安装中,此探查器在 MSDN 下载中心提供。  在 64 位版的 Windows 上安装 64 位独立探查器,然后将安装的 64 位 PerfSDK 目录复制到“%program files(x86)%\Microsoft Visual Studio 9.0\Team Tools\Performance Tools\x64”。

    2.3.1.11 如果 web.config 文件损坏或不存在,分析网站的操作将会失败

    如果 web.config 文件自上一次运行分析以来已损坏或已删除,则探查器将显示消息“未能正确配置该网站;获取 ASP.NET 进程信息失败。服务器可能没有正在运行 Asp.Net 2.0 版或更高版本。请求‘Http://localhost/VSEnterpriseHelper.axd’返回错误: 远程服务器返回错误: (500) 内部服务器错误。”

    解决此问题的方法:

    删除 web.config 文件。

    在调试器下运行网站以重新生成干净的 web.config 文件。

    在探查器下运行。

    2.3.1.12 CHT 和 JPN:将“Microsoft Visual Studio 2008 报告查看器”作为系统必备组件的安装和部署项目显示警告消息

    创建将“Microsoft Visual Studio 2008 报告查看器”作为系统必备组件的 CHT 或 JPN 安装和部署项目会显示若干条警告消息。但是,这些警告消息不会妨碍部署应用程序,包括 ReportViewer 控件。

    解决此问题的方法:

    不需要解决方法。

    2.3.1.13 Visual Studio 2008 SP1 不更新 AMD64 和 IA64 ATL applocal 程序集

    Visual Studio 2008 SP1 不更新 %VSINSTALLDIR%\vc\redist\amd64 和 %VSINSTALLDIR%\vc\redist\ia64 下的 AMD64 和 IA64 ATL applocal 程序集。因此,安装 SP1 后,两者均保持在 Visual Studio 2008 RTM 级别 (9.0.21022.8)。绑定到 Visual Studio 2008 SP1 .dll 文件的 AMD64 和 IA64 ATL 应用程序的 applocal 部署因而将受到影响。

    解决此问题的方法:

    1. 将 %VSINSTALLDIR%\vc\redist\amd64\atl90.dll 和 %VSINSTALLDIR%\vc\redist\ia64\atl90.dll 替换为安装在 %windir%\winsxs 下的对应 SP1 AMD64 和 IA64 文件。

      注意:SP1 AMD64 和 IA64 文件安装在 %windir%\winsxs 下的以下子文件夹中

      SP1 AMD64 atl90.dll => amd64_microsoft.vc90.atl*9.0.30729.1*
      SP1 IA6464 atl90.dll => ia64_microsoft.vc90.atl*9.0.30729.1*

    2. 在文本编辑器中打开 %VSINSTALLDIR%\vc\redist\amd64\Microsoft.VC90.ATL.manifest。将
      version="9.0.21022.8"
      改为
      version="9.0.30729.1"

      对 %VSINSTALLDIR%\vc\redist\ia64\Microsoft.VC90.ATL.manifest 重复此步骤。

    3. 保存该文件。

    2.3.1.14 VC Redist(x86、x64 和 ia64)软件包包含错误的许可条款

    当前附加到 ENU VC Redist 软件包(VCRedist_x86.exe、VCRedist_x64.exe 和 VCRedist_ia64.exe)的许可条款不允许您再发行 VC Redist。它指定您只能安装和使用软件的一个副本。正确的许可条款允许安装和使用任意数目的 VC Redist 软件包副本。

    解决此问题的方法:

    有两种方法可以解决此问题:
    1. 转到修补程序站点,下载 Visual Studio 2008 SP1 的修补程序,该修补程序将磁盘上的 VC Redist 软件包文件替换为包含新的许可条款的新文件。
    2. 下载 SP1 vcredist 软件包并替换磁盘上的三个 vcredist 软件包文件。

    2.3.1.15. 通过 Web 安装部署包时,无法安装某些系统必备组件。

    对于使用“安装项目”创建的部署包,当最终用户指定通过 Web 安装时,将无法安装其中的某些系统必备组件。在安装期间,具有这些关联组件的 ClickOnce 部署包也会失败。

    该问题是由某些组件文件中的 URL 损坏导致的。若要修复此问题,需要手动编辑 package.xml 文件中的 URL。

    解决此问题的方法:

    1. 转到“%Program Files%\Microsoft SDKs\Windows\6.0A\Bootstrapper\Packages\”

    2. 编辑以下位置的“package.xml”:
       a. "\VSTOR30\\"
       b. "\SqlExpress\\"
       c. "\VBPowerPacks\\"

       并将

       a. "http://go.microsoft.com/fwlink/?LinkId=95147amp;clcid=0xXXX "
           更改为
           "http://go.microsoft.com/fwlink/?LinkId=95147&clcid=0xXXX "

       b. "http://go.microsoft.com/fwlink/?LinkId=83136amp;clcid=0xXXX "
           更改为
           "http://go.microsoft.com/fwlink/?LinkId=83136&clcid=0xXXX "

       c. "http://go.microsoft.com/fwlink/?LinkId=91591 "
           更改为
           "http://go.microsoft.com/fwlink/?LinkId=91591&clcid=0xXXX "

    注意:二者的唯一区别是,后者增加了“&”,此符号需添加到“amp;clcid=0xXXX”前面。0xXXX 代表语言标识符。


    2.3.2 ADO.NET

    没有已知问题。

    2.3.3 语言

    2.3.3.1 具有 CrichEditView 的 MFC 应用程序会导致 RC2151

    如果使用 MFC 应用程序向导创建使用功能区 UI 的 MFC 应用程序,并将基类从 CView 改为 CrichEditView,则应用程序将无法生成,并出现以下资源编译器错误:

    ".\REdit.rc(565) : 错误 RC2151 : 无法重用字符串常量 280(0x118) – "插入对象...

    o" 已定义。无法添加 280(0x118) - "查找/替换

    f"

    这是由于以下宏的 resource.h 中存在重复的宏值定义而导致的:

    #define IDS_RIBBON_INSERT_OBJECT   280

    #define IDS_RIBBON_FINDREPLACE       280

    解决此问题的方法:

    1. 打开 Resource.h 文件。

    2. 找到 IDS_RIBBON_INSERT_OBJECT 和 IDS_RIBBON_FINDREPLACE 宏。

    3. 将它们的值之一改为“307”,或者改为文件中未使用的任何值。

    4. 重新生成应用程序。

    #define IDS_RIBBON_INSERT_OBJECT   280

    #define IDS_RIBBON_FINDREPLACE       307

    2.3.4 LINQ

    没有已知问题。

    2.3.5 Visual Studio Tools for Office

    2.3.5.1 使用 Visual Studio 2008 SP1 创建的 Office 2007 解决方案需要 Visual Studio Tools for the Office system 3.0 Runtime SP1。

    如果通过打开部署清单(.vsto 文件)、Office 应用程序、文档或工作簿安装解决方案,则可能会收到错误消息。这是因为解决方案安装程序不会执行系统必备检查。

    解决此问题的方法:

    有两种方法可以解决此问题:
    - 安装 Visual Studio Tools for the Office system 3.0 运行时 SP1 的 SP1 修补程序。
    - 通过运行安装程序来安装解决方案。
    安装程序检查是否存在正确版本的系统必备并在需要时安装它们。

    2.3.5.2 Office 2003 解决方案无法将 .Net Framework Client Profile 用作目标框架。

    通过项目的属性页可以选择 .NET Framework Client Profile 作为目标框架(即使项目不支持该目标框架)。

    解决此问题的方法:

    如果项目将 Office 2003 用作目标版本,请不要在项目的属性页中选择“仅限客户端的框架子集”。

    2.3.5.3 针对 .NET Framework Client Profile 开发 Office 解决方案时出现警告消息

    当针对 .NET Framework Client Profile 运行时开发 Office 解决方案时,可看到这些生成警告消息:“项目具有对程序集 <名称> 的引用。此程序集不是 .NET Framework Client Profile 的一部分。  若不具有此引用,则可能会出现编译或运行时错误。”或者“所引用的程序集 <名称> 在 <程序集> 上具有一个依赖项,该依赖项未作为 .NET Framework Client Profile 的一部分列出。如果此依赖引用是必需的,则可能会收到编译错误。”

    如果忽略这些警告,则可能会因为缺少程序集而收到下面的异常:“未处理的异常: System.IO.FileNotFoundException: 无法加载文件或程序集 <程序集> 或其一个依赖项。系统找不到指定的文件”。

    解决此问题的方法:

    如果应用程序使用依赖于 .NET Framework Client Profile 中未包含的程序集的功能,则请确保项目将完整的 .NET Framework 3.5 用作目标框架。

    对于 Visual Basic 项目:

    1. 打开项目属性(在解决方案资源管理器中双击“我的项目”)。
    2. 单击“编译”选项卡。
    3. 单击“高级编译选项”。
    4. 清除“仅限客户端的框架子集”选项。
    5. 确保 .NET Framework 3.5 显示为目标框架。

    对于 C# 项目:

    1. 打开项目属性(在解决方案资源管理器中双击“属性”)。
    2. 单击“应用程序”选项卡。
    3. 清除“仅限客户端的框架子集”选项。
    4. 确保 .NET Framework 3.5 显示为目标框架。

    2.3.5.4 当发布解决方案时,出现下面的警告消息:“没有为 Microsoft Office 2007 主互操作程序集提供‘HomeSite’属性”

    默认情况下,将解决方案引导程序配置为从 Web 下载主互操作程序集包。但是,无法下载此包;必须将其安装在与应用程序相同的位置。 

    解决此问题的方法:

    您可以忽略此警告。

    即使在“系统必备”对话框中选中“从组件供应商的网站上下载系统必备组件”,主互操作程序集包也将自动发布到与应用程序相同的位置。

    2.3.5.5 安装 Visual Studio 2008 SP1 后,发布以前创建的 Office 项目时显示警告。

    当发布解决方案时,显示下面的警告:“‘Visual Studio Tools for Office system 3.0 Runtime Service Pack 1’需要项‘.NET Framework Client Profile’,但未包括它。”

    出现此警告的原因是将 Visual Studio Tools for Office system 3.0 Runtime Service Pack 1 选择为安装系统必备组件。  但是,.NET Framework 3.5 Service Pack 1 和 .NET Framework Client Profile 包均未选中。

    解决此问题的方法:

    1. 打开项目属性:
    2. 单击“发布”选项卡。
    3. 单击“系统必备”以打开“系统必备”对话框。
    4. 选择“.NET Framework 3.5 Service Pack 1”或“.NET Framework Client Profile”。
    5. 再次发布解决方案。

    2.3.5.6 使用 ServerDocument 类的应用程序不能面向 .NET Framework Client Profile。

    如果项目面向 .NET Framework Client Profile,则在运行应用程序时,应用程序将引发 FileNotFound 异常。发生这种情况是因为 ServerDocument 类要求完整的 .NET Framework 3.5。 

    解决此问题的方法:

    对于 Visual Basic 项目:
    1. 打开项目属性(在解决方案资源管理器中双击“我的项目”)。
    2. 单击“编译”选项卡。单击“高级编译选项”。
    3. 清除“仅限客户端的框架子集”选项。
    4. 确保 .NET Framework 3.5 显示为目标框架。
    对于 C# 项目:
    1. 打开项目属性(在解决方案资源管理器中双击“属性”)。
    2. 单击“应用程序”选项卡。
    3. 清除“仅限客户端的框架子集”选项。
    4. 确保 .NET Framework 3.5 显示为目标框架。

    2.3.6 Web 开发

    2.3.6.1 Visual Studio 2008 SP1 需要 Silverlight Tools Beta 2 的已更新安装

    如果 Silverlight Tools Beta 2 是以前安装的,则在安装 Visual Studio 2008 SP1 后,Visual Studio 将无法打开 Silverlight 项目,直到更新了 Silverlight Tools Beta 2 安装。

    解决此问题的方法:

    http://go.microsoft.com/fwlink/?LinkID=120032 下载针对 Visual Studio 2008 SP1 的已更新 Silverlight Tools Beta 2。

    2.3.7 Windows Communication Foundation (WCF) 工具

    2.3.7.1 当在“属性”页上将相对路径设置为“输出路径”时,WCF 服务主机无法承载 WCF 服务库项目

    创建 WCF 服务库项目时,可以在项目“属性”页的“生成”选项卡上将输出路径从默认的 bin\debug\ 更改为相对路径,例如“.”或“..”。然后,在尝试调试服务时,WCF 服务主机无法承载该服务,并且将显示此消息:“无法直接启动带有“类库输出类型”的项目。”

    解决此问题的方法:

    在“生成”选项卡上,输入完全限定路径而不是相对路径。

    2.3.7.2 在具有 TFS 插件的 Visual Studio 中,当在 WCF 服务库项目中选择“添加新项”时出现错误消息

    如果在具有 TFS 插件的 Visual Studio 中创建新的 WCF 服务库项目,则在此项目中选择“添加新项”时可能会看到显示一个错误。单击“确定”关闭该错误对话框后,该项服务将成功添加并按预期方式工作。

    解决此问题的方法:

    单击“确定”以关闭错误对话框。

    2.3.8 Visual Studio Windows Presentation Foundation (WPF) 设计器

    2.3.8.1 “属性”窗口使用美国格式显示日期和数字等值。

    WPF 设计器中的“属性”窗口使用美国格式显示和编辑值。 这与使用 en-US CultureInfo 的 XAML 约定匹配。  例如,日期和数字始终采用美国格式。日期始终显示为 mm/dd/yy 格式。如果在“属性”窗口中输入一个日期值,则该值将转换为 mm/dd/yy 格式。

    解决此问题的方法:

    尚未提供解决方法。

    2.3.8.2 当 XAML 文件中的符号为重构的代码时的限制

    在 Visual Studio 2008 SP1 中,如果使用代码重构修改类型或成员,则重构操作将传播到 XAML 文件。  有关此功能的更多信息,请参见文档中的“如何:重命名在 XAML 中声明的符号”。此新功能会受到以下限制:
    - 重构只会更改当前项目中的 XAML 文件,而不会应用于解决方案中的所有项目。

    - 只能针对类型名称和某些属性使用重构。对于以下属性不能使用重构:

    o    Setter Property 属性

    o    TemplateBinding 路径属性

    o    Binding path 和 ElementName 属性

    o    ObjectDataProvider 的 MethodName 属性

    解决此问题的方法:

    手动完成修改;例如,使用“查找和替换”。

    2.3.8.3 更改 XAML 将不重构代码文件

    如果更改了 XAML 文件中的类型或成员,这些更改将不会传播到代码文件。

    例如,如果使用 XAML 编辑器更改了具有关联的事件处理程序的按钮的名称,将不会更新隐藏代码。

    解决此问题的方法:

    必须手动修改代码文件;例如,使用“查找和替换”。

    2.3.8.4 在解决方案资源管理器中重命名不会在 WPF 项目中提示重命名重构

    在解决方案资源管理器中,如果右击 XAML 文件,单击“重命名”,然后重命名文件,该文件名将发生更改,但不会出现任何要求重构 XAML 或隐藏代码中的类名的提示。具体而言,如果重命名由应用程序 XAML 文件中的 StartupUri 属性引用的 XAML 文件(例如,将 Window1.xaml 更改为 MainWindow.xaml),则必须手动更改 StartupUri 属性。

    解决此问题的方法:

    必须手动执行修改;例如,使用“查找和替换”。

    2.3.8.5 “查找所有引用”将不会查找 XAML 文件中的未命名控件

    在代码隐藏文件中,通过右击某个符号并单击“查找所有引用”,可以查找对该符号的所有引用。“查找所有引用”将不会查找不具有 Name 属性集的 XAML 元素。

     

    例如:

    下面的 XAML 显示了不具有名称的 MyUserControl 元素:

    <Grid>
                <MyUserControl/>
     (...)

    在代码隐藏文件中,如果右击 MyUserControl 符号并单击“查找所有引用”,则将仅会找到代码中的引用而找不到 XAML 中的引用。

    解决此问题的方法:

    命名控件或手动进行搜索(例如,使用“在文件中查找”)。

    2.3.8.6 在绑定到比较耗时的 ObjectDataProvider 方法调用时,Visual Studio 可能停止响应

    如果通过 XAML 绑定到 ObjectDataProvider 并且 ObjectDataProvider 执行数据库调用,则在 WPF 设计器中加载 XAML 时,该操作将十分耗时并会占用大量内存。因此,WPF 设计器可能会停止响应,直至调用该操作完成。

    解决此问题的方法:

    请避免在设计时按此方式设置 ObjectDataProvider。从编程角度而言,应只在运行时使用 DesignerProperties.IsInDesignMode() 方法执行耗时或占用大量内存的工作。

    2.3.8.7 当“{Binding RelativeSource={RelativeSource TemplatedParent}}”时无法加载 XAML

     Visual Studio 2008 SP1 中存在一个已知问题:如果绑定操作使用 RelativeSource TemplatedParent 而不使用路径,则 WPF 设计器将加载失败。

    例如:

        <RepeatButton Command="{x:Static ScrollBar.LineUpCommand}"

    CommandTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}" />

    解决此问题的方法:

    使用解析为相同对象的“.”表示法指定路径。

    例如:

        <RepeatButton Command="{x:Static ScrollBar.LineUpCommand}" CommandTarget="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=.}" />

    2.3.8.8 如果从独立或外部资源字典引用值,WPF 设计器可能会崩溃

    如果如下所示引用独立或外部资源字典中的值,WPF 设计器可能会崩溃:

    - 独立字典中的项之间具有资源引用(例如,引用颜色的样式),
    - 您有一个打开的项目文件(Window 等)引用了此独立资源字典中的值,
    - 您在此独立资源字典中修改了一个值。

    解决此问题的方法:

    更新字典之前,关闭所有打开的引用该字典中的值的文档。

    2.3.9 Windows Workflow Foundation (WF) 工具

    没有已知问题。

    2.3.10 Windows SDK 集成

    2.3.10.1 处理标记为 [Obsolete(IsError = true)] 属性的类型时,x64 Sgen.exe 不会生成程序集

    x64 版本的 Sgen.exe 处理包含标记为 [Obsolete(IsError=true)] 属性的类型的程序集时将不生成序列化程序集。

    解决此问题的方法:

    使用 x86 版本的 Sgen.exe。

    3. 相关链接

    Team Foundation Server 自述文件
    Visual Studio 速成版自述文件
    .NET Framework 自述文件


    © 2008 Microsoft Corporation。保留所有权利。使用条款 | 商标 | 隐私声明