1.2.支持的操作系统
Microsoft Synchronization Services for ADO.NET 1.0 for Devices 不随 VS2008 SP1 一起安装。用户必须下载 .msi 文件才能启用“智能设备”项目中的“本地数据库缓存”功能。
解决此问题的方法:
从下载中心下载并安装 Microsoft Synchronization Services for ADO.NET 1.0 for Devices 的 .msi 文件。
解决此问题的方法:
向防火墙添加 SPInstaller 例外。这将使防火墙停止阻止 SpInstaller 所要求的通信。然后,再次运行 Visual Studio 2008 SP1 安装。當您嘗試將 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 (預設為選取狀態)。
或者,您可以在安裝 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 的合併式 (匯集式) 安裝包
将 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. 单击“修复/重新安装”。
在启用 Windows Vista 边栏时 Visual Studio 2008 SP1 安装失败。
解决此问题的方法:
1. 右击任务栏最右侧的通知区域中的“边栏”图标。
2. 单击“退出”。
解决此问题的方法:
解决此问题的方法:
执行以下两项操作之一:解决此问题的方法:
可单独下载 MSDN Library for Visual Studio 2008 SP1。请访问 Microsoft 下载中心。解决此问题的方法:
SQL Server Compact 3.5 SP1 for Devices MSI 可从 Microsoft 下载中心下载获得。在未安装 .NET Framework 2.0 SP2 和 .NET Framework 3.0 SP2 的 Windows Vista 计算机上安装 Visual Studio 2008 SP1 时,可能会显示要求重新启动计算机的 Windows 自动更新通知。若允许立即重新启动 Windows Update,则将导致 Visual Studio 安装程序失败。
解决此问题的方法:
请将重新启动推迟到 Visual Studio 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 的产品时,系统可能会提示您提供源。解决此问题的方法:
如果无法成功安装 .NET Framework 2.0 SP2,并且在安装日志文件中找到“原因”一节中所述的“解析修补程序源”文本,则可以下载 Microsoft .NET Framework Registration Correction Tool 来解决此问题。
在具有多个版本(包括语言版本)的 Visual Studio 2008 产品的计算机上,所有版本都应升级到 Service Pack 1。 Visual Studio 2008 产品依赖共享资源,仅升级一个版本可能会将其他 Visual Studio 2008 版本置于不受支持的状态。
解决此问题的方法:
将所有版本(包括语言版本)的 Visual Studio 2008 升级到 Service Pack 1。
卸载 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 安装文件的本地路径。
安装 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
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
如果尝试使用“添加或删除程序”来修复“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”。可以通过在“添加或删除程序”中查看来验证它是否已安装。
解决此问题的方法:
1. 访问 Visual Studio 2008 Service Pack 准备工具下载页 http://go.microsoft.com/fwlink/?LinkID=121685&clcid=0x409。解决此问题的方法:
1. 使用“添加或删除程序”(在 Windows XP 中)或“程序和功能”(在 Windows Vista 中)卸载 Visual Studio Tools for Office 3.0 运行时语言包。解决此问题的方法:
修复 Visual Studio 2008 以重置 ProductVersion 值。
字段 |
值 |
---|---|
名称 |
Microsoft Visual Studio 2008 Service Pack 1 |
版本 |
SP1 |
发行者 |
Microsoft |
语言 |
<组件语言> |
當您安裝非英文版的 Microsoft Visual Studio 2008 Service Pack 1 (SP1) 後,某些當地語系化的 IntelliSense 文字可能會還原成英文。下列語言版本的 Visual Studio 2008 SP1 會發生這個問題:
若要解決這個問題,請參閱 KB 957507 以取得詳細資訊並下載檔案。
如果在安装项目的“系统必备”对话框中或在“ClickOnce 发布”中选中 .NET Framework 3.5 SP1 引导程序包,并且选中“从与我的应用程序相同的位置下载系统必备组件”选项,则将显示下面的生成错误:
系统必备的安装位置未设置为“组件供应商的网站”,无法在磁盘上找到项“Microsoft.Net.Framework.3.5.SP1”中的文件“dotNetFx35setup.exe”。
解决此问题的方法:
更新包数据
语言 |
体系结构 |
源 URL |
目标 |
---|---|---|---|
中文(简体) |
x86 |
zh-CHS\DotNetFX35\x86 | |
x64 |
zh-CHS\DotNetFX35\x64 | ||
中文(繁体) |
x86 |
zh-CHT\DotNetFX35\x86 | |
x64 |
zh-CHT\DotNetFX35\x64 | ||
英语 |
x86 |
N/A |
N/A |
x64 |
N/A |
N/A | |
法语 |
x86 |
fr\DotNetFX35\x86 | |
x64 |
fr\DotNetFX35\x64 | ||
德语 |
x86 |
de\DotNetFX35\x86 | |
x64 |
de\DotNetFX35\x64 | ||
意大利语 |
x86 |
it\DotNetFX35\x86 | |
x64 |
it\DotNetFX35\x64 | ||
日语 |
x86 |
ja\DotNetFX35\x86 | |
x64 |
ja\DotNetFX35\x64 | ||
朝鲜语 |
x86 |
ko\DotNetFX35\x86 | |
x64 |
ko\DotNetFX35\x64 | ||
葡萄牙语 - 巴西 |
x86 |
pt-BR\DotNetFX35\x86 | |
x64 |
pt-BR\DotNetFX35\x64 | ||
俄语 |
x86 |
ru\DotNetFX35\x86 | |
x64 |
ru\DotNetFX35\x64 | ||
西班牙语 |
x86 |
es\DotNetFX35\x86 | |
x64 |
es\DotNetFX35\x64 |
- 安装 Visual Studio 2008 SP1 RTM 修补程序后 redist 文件夹中不存在 mfc90rus.dll。
- 用户将无法使用俄语资源来编写并分发本地化的应用程序。
解决此问题的方法:
用户可以将 MFC90RUS.DLL 从 winsxs 文件夹复制到 redist 文件夹。
如果在安装 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 工具
解决此问题的方法:
提供原始媒体。
只要在开发过程中选择相应的选项以面向 .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 的引用。
publish.htm 页面是在未使用检测目标计算机上是否存在 .NET Framework Client Profile 的脚本的情况下生成的。
解决此问题的方法:
1. 确保应用程序面向仅限客户端的框架子集。
对于 Visual Basic 项目:
打开项目属性(在解决方案资源管理器中双击“我的项目”)。
单击“编译”选项卡。
单击“高级编译选项”。
选择“仅限客户端的框架子集”选项。
对于 C# 项目:
打开项目属性(在解决方案资源管理器中双击“属性”)。
单击“应用程序”选项卡。
选择“仅限客户端的框架子集”选项。
2. 若要获取正确的脚本,请选择 .NET Framework 3.5 SP1 系统必备组件并发布应用程序。
3. 在项目的“发布”属性中,将系统必备包改回为 .NET Framework Client Profile 并清除“每次发布后都自动生成部署网页”选项。
4. 再次发布应用程序。
在两种情况下会出现此问题:
1. 运行数据库中的更新模型后,为数据库中的新外键创建了关联但并未显示在关系图中。
2. 在设计器中执行撤消/重做操作之后,关联连线放置在关系图中的错误位置。
解决此问题的方法:
以下是几种解决方法:
- 保存该文件。关闭设计器。再次打开该文件。
- 右击关系图的空白区域,然后单击“布局关系图”。这样可能会改变以前对关系图所做的任何手动布局更改。
- 手动移动相关的实体以刷新其呈现效果。
安装和部署项目中提供的指向 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>。
在安装 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。
程序集缓存查看器 (Shfusion.dll) 是一种 Windows 外壳扩展,可让您使用 Windows 资源管理器查看和操作全局程序集缓存的内容。Shfusion.dll 位于 %windir%\Microsoft.NET\Framework\v2.0.50727 目录中。
在 Windows Vista 中,即使您从具有提升权限的命令窗口中打开程序集缓存查看器(例如,使用带有全局程序集缓存路径的 START 命令),程序集缓存查看器仍然不以提升的权限运行。这是因为程序集缓存查看器是 Windows 资源管理器的外壳扩展,它不以提升的权限运行。
解决此问题的方法:
仅将 Shfusion.dll 用于查看目的。
若要进行更新,请打开一个具有管理特权的命令提示符窗口,然后使用 .NET Framework SDK 中的 Gacutil.exe 命令行工具。
解决此问题的方法:
64 位探查器 SDK 将包括在 64 位 SP1 独立探查器安装中,此探查器在 MSDN 下载中心提供。 在 64 位版的 Windows 上安装 64 位独立探查器,然后将安装的 64 位 PerfSDK 目录复制到“%program files(x86)%\Microsoft Visual Studio 9.0\Team Tools\Performance Tools\x64”。如果 web.config 文件自上一次运行分析以来已损坏或已删除,则探查器将显示消息“未能正确配置该网站;获取 ASP.NET 进程信息失败。服务器可能没有正在运行 Asp.Net 2.0 版或更高版本。请求‘Http://localhost/VSEnterpriseHelper.axd’返回错误: 远程服务器返回错误: (500) 内部服务器错误。”
解决此问题的方法:
删除 web.config 文件。
在调试器下运行网站以重新生成干净的 web.config 文件。
在探查器下运行。
解决此问题的方法:
不需要解决方法。解决此问题的方法:
解决此问题的方法:
有两种方法可以解决此问题:对于使用“安装项目”创建的部署包,当最终用户指定通过 Web 安装时,将无法安装其中的某些系统必备组件。在安装期间,具有这些关联组件的 ClickOnce 部署包也会失败。
该问题是由某些组件文件中的 URL 损坏导致的。若要修复此问题,需要手动编辑 package.xml 文件中的 URL。
解决此问题的方法:
1. 转到“%Program Files%\Microsoft SDKs\Windows\6.0A\Bootstrapper\Packages\”
2. 编辑以下位置的“package.xml”:
注意:二者的唯一区别是,后者增加了“&”,此符号需添加到“amp;clcid=0xXXX”前面。0xXXX 代表语言标识符。 如果使用 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 如果通过打开部署清单(.vsto 文件)、Office 应用程序、文档或工作簿安装解决方案,则可能会收到错误消息。这是因为解决方案安装程序不会执行系统必备检查。 解决此问题的方法: 有两种方法可以解决此问题: 解决此问题的方法: 如果项目将 Office 2003 用作目标版本,请不要在项目的属性页中选择“仅限客户端的框架子集”。 当针对 .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 项目: 对于 C# 项目: 默认情况下,将解决方案引导程序配置为从 Web 下载主互操作程序集包。但是,无法下载此包;必须将其安装在与应用程序相同的位置。 解决此问题的方法: 您可以忽略此警告。 即使在“系统必备”对话框中选中“从组件供应商的网站上下载系统必备组件”,主互操作程序集包也将自动发布到与应用程序相同的位置。 当发布解决方案时,显示下面的警告:“‘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 包均未选中。 解决此问题的方法: 如果项目面向 .NET Framework Client Profile,则在运行应用程序时,应用程序将引发 FileNotFound 异常。发生这种情况是因为 ServerDocument 类要求完整的 .NET Framework 3.5。 解决此问题的方法: 如果 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。 创建 WCF 服务库项目时,可以在项目“属性”页的“生成”选项卡上将输出路径从默认的 bin\debug\ 更改为相对路径,例如“.”或“..”。然后,在尝试调试服务时,WCF 服务主机无法承载该服务,并且将显示此消息:“无法直接启动带有“类库输出类型”的项目。” 解决此问题的方法: 在“生成”选项卡上,输入完全限定路径而不是相对路径。 如果在具有 TFS 插件的 Visual Studio 中创建新的 WCF 服务库项目,则在此项目中选择“添加新项”时可能会看到显示一个错误。单击“确定”关闭该错误对话框后,该项服务将成功添加并按预期方式工作。 解决此问题的方法: 单击“确定”以关闭错误对话框。 WPF 设计器中的“属性”窗口使用美国格式显示和编辑值。 这与使用 en-US CultureInfo 的 XAML 约定匹配。 例如,日期和数字始终采用美国格式。日期始终显示为 mm/dd/yy 格式。如果在“属性”窗口中输入一个日期值,则该值将转换为 mm/dd/yy 格式。 解决此问题的方法: 尚未提供解决方法。 在 Visual Studio 2008 SP1 中,如果使用代码重构修改类型或成员,则重构操作将传播到 XAML 文件。 有关此功能的更多信息,请参见文档中的“如何:重命名在 XAML 中声明的符号”。此新功能会受到以下限制: - 只能针对类型名称和某些属性使用重构。对于以下属性不能使用重构: o Setter Property 属性 o TemplateBinding 路径属性 o Binding path 和 ElementName 属性 o ObjectDataProvider 的 MethodName 属性 解决此问题的方法: 手动完成修改;例如,使用“查找和替换”。 如果更改了 XAML 文件中的类型或成员,这些更改将不会传播到代码文件。 例如,如果使用 XAML 编辑器更改了具有关联的事件处理程序的按钮的名称,将不会更新隐藏代码。 解决此问题的方法: 必须手动修改代码文件;例如,使用“查找和替换”。 在解决方案资源管理器中,如果右击 XAML 文件,单击“重命名”,然后重命名文件,该文件名将发生更改,但不会出现任何要求重构 XAML 或隐藏代码中的类名的提示。具体而言,如果重命名由应用程序 XAML 文件中的 StartupUri 属性引用的 XAML 文件(例如,将 Window1.xaml 更改为 MainWindow.xaml),则必须手动更改 StartupUri 属性。 解决此问题的方法: 必须手动执行修改;例如,使用“查找和替换”。 在代码隐藏文件中,通过右击某个符号并单击“查找所有引用”,可以查找对该符号的所有引用。“查找所有引用”将不会查找不具有 Name 属性集的 XAML 元素。 例如: 下面的 XAML 显示了不具有名称的 MyUserControl 元素: <Grid> 在代码隐藏文件中,如果右击 MyUserControl 符号并单击“查找所有引用”,则将仅会找到代码中的引用而找不到 XAML 中的引用。 解决此问题的方法: 命名控件或手动进行搜索(例如,使用“在文件中查找”)。
如果通过 XAML 绑定到 ObjectDataProvider 并且 ObjectDataProvider 执行数据库调用,则在 WPF 设计器中加载 XAML 时,该操作将十分耗时并会占用大量内存。因此,WPF 设计器可能会停止响应,直至调用该操作完成。 解决此问题的方法: 请避免在设计时按此方式设置 ObjectDataProvider。从编程角度而言,应只在运行时使用 DesignerProperties.IsInDesignMode() 方法执行耗时或占用大量内存的工作。 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=.}" /> 如果如下所示引用独立或外部资源字典中的值,WPF 设计器可能会崩溃: - 独立字典中的项之间具有资源引用(例如,引用颜色的样式), 解决此问题的方法: 更新字典之前,关闭所有打开的引用该字典中的值的文档。 解决此问题的方法:
a. "\VSTOR30\
b. "\SqlExpress\
c. "\VBPowerPacks\
并将
a. "
更改为
"
b. "
更改为
"
c. "
更改为
"
2.3.2 ADO.NET
没有已知问题。
2.3.3 语言
2.3.3.1 具有 CrichEditView 的 MFC 应用程序会导致 RC2151
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。
- 安装 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 作为目标框架(即使项目不支持该目标框架)。
2.3.5.3 针对 .NET Framework Client Profile 开发 Office 解决方案时出现警告消息
2.3.5.4 当发布解决方案时,出现下面的警告消息:“没有为 Microsoft Office 2007 主互操作程序集提供‘HomeSite’属性”
2.3.5.5 安装 Visual Studio 2008 SP1 后,发布以前创建的 Office 项目时显示警告。
2.3.5.6 使用 ServerDocument 类的应用程序不能面向 .NET Framework Client Profile。
对于 C# 项目:
2.3.6 Web 开发
2.3.6.1 Visual Studio 2008 SP1 需要 Silverlight Tools Beta 2 的已更新安装
2.3.7 Windows Communication Foundation (WCF) 工具
2.3.7.1 当在“属性”页上将相对路径设置为“输出路径”时,WCF 服务主机无法承载 WCF 服务库项目
2.3.7.2 在具有 TFS 插件的 Visual Studio 中,当在 WCF 服务库项目中选择“添加新项”时出现错误消息
2.3.8 Visual Studio Windows Presentation Foundation (WPF) 设计器
2.3.8.1 “属性”窗口使用美国格式显示日期和数字等值。
2.3.8.2 当 XAML 文件中的符号为重构的代码时的限制
- 重构只会更改当前项目中的 XAML 文件,而不会应用于解决方案中的所有项目。
2.3.8.3 更改 XAML 将不重构代码文件
2.3.8.4 在解决方案资源管理器中重命名不会在 WPF 项目中提示重命名重构
2.3.8.5 “查找所有引用”将不会查找 XAML 文件中的未命名控件
<MyUserControl/>
(...)
2.3.8.6 在绑定到比较耗时的 ObjectDataProvider 方法调用时,Visual Studio 可能停止响应
2.3.8.7 当“{Binding RelativeSource={RelativeSource TemplatedParent}}”时无法加载 XAML
2.3.8.8 如果从独立或外部资源字典引用值,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)] 属性的类型的程序集时将不生成序列化程序集。
3. 相关链接
Team Foundation Server 自述文件
Visual Studio 速成版自述文件
.NET Framework 自述文件
© 2008 Microsoft Corporation。保留所有权利。使用条款 | 商标 | 隐私声明