在安装Visual Studio 2017社区版的SSDT时,递归过程太深导致失败。

5

"设置失败"递归太深;堆栈溢出0x800703E9。

我使用的是Windows 10和最新版本的Visual Studio。为了确保我有尽可能多的资源,我尝试过重新启动。我有4GB内存。


2
请参考以下链接:https://dev59.com/4lYO5IYBdhLWcg3wEddO#47645278 - Krunal Shah
可能是SSDT安装问题(无法执行EXE包)的重复问题。 - KyleMit
5个回答

8
如果SSDT安装程序给出了多个Visual Studio实例供选择,请尝试选择“新建”选项。我在Windows Server 2012 R2上尝试安装SSDT 15.8.1时遇到了这个问题,最新版本的Visual Studio 2017(v15.8.6)已经安装完毕。SSDT安装程序在下拉框中给出了两个选项。
安装工具到此Visual Studio 2017实例: - Visual Studio 2017 - 为Visual Studio 2017安装新的SQL Server数据工具
当我选择第一个选项:Visual Studio 2017(假定是现有实例)时,我遇到了晦涩难懂的“递归太深”的错误。我按照Stack Overflow上其他人的建议安装了VS的SSRS扩展,并再次为现有的Visual Studio 2017实例运行了SSDT安装程序。结果还是出现了相同的“递归”错误。
我再试了一次,但这次选择了“为Visual Studio 2017安装新的SQL Server数据工具”选项。这次安装过程完成了!

删除现有的 SSDT 实例(作为 VS 2017 安装的一部分安装)并没有解决我的问题。只有在“新”实例上安装才起作用。 - Keith Frechette

3
显然,最新版本的SSDT和Visual Studio之间存在安装程序不一致的问题。建议的解决方法是使用先前安装的Visual Studio 2017版本,安装最新的SSDT,然后升级Visual Studio。这是一个非常耗时的修复过程。看来这仅对SSIS组件有必要进行操作,SSAS和SSRS部分可作为VS中的扩展程序提供,并且我认为它们仍可以通过VS成功安装。
参考链接:https://developercommunity.visualstudio.com/content/problem/258117/ssdt-failed-to-install-vs-2017-pro-1572.html

0

在安装新版本之前,您应该卸载当前版本的SSDT。 如果您的计算机有一些页面被阻止,您可以下载特定版本的离线安装程序(下载头文件,然后使用SSDT-Setup.exe /layout [Folder])来安装旧版本和新版本的SSDT。


0
请重新运行VS社区2017安装程序或转到控制面板-程序和功能,卸载先前的SSDT版本以供VS 2017使用,然后重新安装它,您可以查看此类似问题
如果问题仍然存在,请使用http://aka.ms/vscollect收集安装日志,并在%temp%文件夹下找到vslogs.zip,然后将文件上传到Onedrive并在此处共享链接。

好的,我已经让设置工作了。卸载了所有看起来像是数据工具和你发送链接中的步骤。每个步骤后都要重新启动,这花费了超过一个小时的时间。原始问题与之前完全相同,我打开在Visual Studio 2013中创建和修改的报告,它会打开报告,但如果我尝试保存、预览或构建它,就会出现“未知版本9.0”的错误。我一直找不到其他答案,除了安装数据工具,这将是我第三次尝试以不同的方式安装它,以便识别和更新这些报告。 - billpennock
我看不出来这是一个安装问题。如果修复没有解决问题,那么很可能是实现中的错误。我建议跨贴或标记为SQL问题(我看到你已经标记了“ssdt”,但应该添加更多与SQL相关的标签)。 - Heath
@billpennock,看起来你的问题已经解决了,是吗?如果是这样,请添加一个回复并标记你的解决方案,这将有助于其他社区成员更轻松地搜索,提前感谢。 - Sara Liu - MSFT
我放弃了并选择了另一种方向。最初的问题是打开旧的rdl文件,最后我回到了2013年的Visual Studio。抱歉,Sara,我刚才才看到你的请求。 - billpennock

0

我是如何解决这个问题的:

  1. 如果在 SSDT 安装期间选择了 Reporting Services(和 Analysis Services)项目,请卸载 Visual Studio 扩展。注意:记得以管理员身份运行 VS 进行卸载。

  2. 重新启动 VS2017(出于一般原则)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接