症状
请考虑以下情况:
-
在 Visual Studio 2012 中创建一个简单的 ASP.NET web 应用程序项目。
-
创建新数据集,指向 Microsoft SQL Server 2012 或 SQL Server 2014 的任何 SQL 实例,并使用任何表。
-
创建新的 .RDLC 报表,并将其与数据集绑定。
-
从报表查看器2012的 "属性" 图标中,选择新创建的报表。
-
单击 " 选择数据源 ",然后从 "数据源实例" 下拉列表中选择在步骤2中限定的数据集。
在这种情况下,Visual Studio 2012 将立即崩溃。注意 在 Microsoft SQL Server 2014 中也会出现此问题。
原因
出现此问题的原因是,代码更改将 DTEUtil 的副本移动到 WebDesign 程序集,该程序集是使用对旧版本的 VisualStudio 的引用编译的。 调用 GetGlobalService 函数时,这会导致失败。
解决方案
此问题已在 Microsoft SQL Server 2012 Service Pack 2 (SP 2)中得到解决。
SQL Server 2012 的 Service pack 信息
若要解决此问题,请获取最新的 Microsoft SQL Server 2012 服务包。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2755533 如何获取最新的 SQL Server 2012 服务包 在 SQL Server 的以下累积更新中,此问题首先已修复。
SQL Server 2014 的累积更新1 /en-us/help/2931693
SQL Server 2012 SP1 的累积更新9 /en-us/help/2931078
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。