visual studio(SSDT)2017无法启动调试

时间:2018-06-10 04:53:29

标签: visual-studio ssis sql-server-data-tools

我最近从SSDT软件包安装了Visual Studio 2017。我正在测试一个简单的场景,一个平面文件源和一个没有涉及C#或VB脚本的OLEDB目标,以及代码中没有调试断点。 当我尝试为SSIS项目执行包时,我收到错误:

  

Microsoft Visual Studio   无法开始调试。调试器未正确安装。跑   设置安装或修复调试器。

     

------------------------------附加信息:

     

无法运行程序“DTS”。

     

未正确安装名为coloader80.dll的Visual Studio程序的DLL库。使用applet“添加”或“删除”修复Visual Studio安装   控制面板中的程序。

     

如果问题仍然存在,您可以使用“regsvr32"%CommonProgramFiles%\ Microsoft Shared \ VS7Debug \ coloader80.dll"”指令从命令行手动注册coloader80.dll库&gt ;. (Microsoft Visual Studio调试器)

我尝试使用该解决方案来解决类似的问题: https://developercommunity.visualstudio.com/content/problem/26630/the-debugger-is-not-properly-installed-cannot-debu.html

我删除了 C:/ Program files / Common Files / Microsoft shared / VS7Debug 文件夹的内容并重新安装了VS,但它似乎并不适用于我的情况。

任何其他想法将不胜感激。

3 个答案:

答案 0 :(得分:2)

我在黑暗中捅了一针,因为你的问题缺乏细节。但是,我对产生错误所采取的步骤的最佳猜测如下:

  1. 您正在使用C#脚本任务(控制流)或C#脚本组件(数据流,其中有一个断点)
  2. 您可以成功编译并执行包
  3. 作业一直运行,直到它到达其中有断点的C#组件,然后在那里连续运行而没有任何进度或失败
  4. VSTA调试器未启动
  5. 您提供的错误消息显示在“执行结果”选项卡(即日志)
  6. 如果是这种情况,那么我相信你在VSTA调试器中遇到了一个无法启动的错误,因为你在代码中做了一些它不喜欢的东西 - 当然这对微软没有帮助。此外,这意味着您安装Visual Studio,SSDT或VSTA不太可能出现任何问题。您的代码中有更多可能是VSTA调试器不喜欢的东西,导致它不能启动,同时还会抛出误导性的错误消息。

    要确认这一点,您需要注释掉代码的各个部分并运行包,以便找到阻止调试器启动的代码。调试器启动后,您已经隔离了调试器无法运行的代码部分。

    如果未注释的代码部分出现问题(即创建无法调试的错误结果),请尝试查找解决方法。否则,如果您知道未注释的代码部分工作得很好,那么请将其注释掉(或者如果错误代码的其他部分依赖于它,则插入值,并继续调试其他部分)代码。

    阻止调试器启动的已知调试器问题:

    1. 正在使用字符串插值。
    2. 解决方法:使用string.format("String text here with variable param here {0} and here {1}", param1, param2);

      1. 在字典中使用TryGetValue以在检索之前查看值是否存在。
      2. 解决方法:我所知道的没有。请参阅我的问题:

        SSIS VSTA: Why does Script Component debugger not work when using TryGetValue on a dictionary?

        如果你的问题不属于上述任何一个问题,那么我想知道你发现了什么新问题,以及你创建了哪些解决方法,因为这对我来说是有益的(我开发了很多) SSIS / C#)。如果您遇到任何麻烦,我可以协助制定解决方法。

        注意:如果注释掉所有代码仍然会阻止调试器工作,那么尝试添加一个简单的新C#组件,比如显示消息框或设置变量值(即int intValue = 1;) 。如果仍然无法正常工作,那么您可能需要考虑重新安装VSTA和SSDT。希望你不必采取这一步骤。

答案 1 :(得分:1)

我建议您尝试重新安装。注意:使用安装程序卸载并重新安装不会删除所有内容,这可能会导致问题持续存在。请参阅以下有关如何删除所有内容的信息,其中包括您必须采取的手动步骤。

升级SSDT本身就是一项挑战,因为微软在SSDT下载页面上指出,首先卸载SSDT然后重新安装SSDT非常重要。但是,在运行SSDT的卸载程序时,它会警告用户不会卸载所有组件,因为它会使计算机处于不受支持的状态,并且需要在“控制面板”中手动删除这些组件(即,在“程序和功能”下) )。这里的问题是Microsoft没有指定需要卸载哪些组件。我不得不联系我们的Microsoft Premier Support技术人员,他们能够提供要卸载的组件列表(请参阅下面的weblink图片)。

注意:在某些情况下,此列表就足够了。但是,如果您有其他Microsoft Visual C ++ 20nn可再发行组件(x86 / x64)组件,则可能还需要卸载这些组件。否则,SSDT安装程序可能会崩溃。挖掘安装程序错误日志将指出这一点。

https://1drv.ms/i/s!ArgNRGQ-3kB-dg3-igZcamMEpAk

答案 2 :(得分:0)

我尝试了相同的解决方案,但没有结果。

今天我用以下解决方案解决了

https://stackoverflow.com/questions/37299032/visual-studio-2015-the-hash-value-is-not-correct​

> 1. Download: https://go.microsoft.com/fwlink/?LinkId=866452
> 2. SSDT-Setup-ENU.exe /layout <folder name>
> 3. Download: https://aka.ms/vs/15/release/vs_sql.exe
> 4. vs_SQL.exe --layout <different folder name> (this takes a while, it's laying out ~4 GB)
> 5. <different folder name>\vs_setup.exe --wait --nickname "SSDT" --passive
> 6. <folder name>\SSDT-Setup-ENU.exe