使用Interop Excel时,SSIS脚本任务断点不起作用

时间:2018-04-06 13:10:33

标签: c# ssis excel-interop

当我添加Microsoft Excel对象库(引用Microsoft.Office.Interop.Excel)时,放置在c#代码中的断点停止工作。我必须使用MessageBox.Show()进行调试。这是一个解决方案使断点有效吗?

如何重现:

  1. 创建一个新的SSIS包。
  2. 添加脚本任务。
  3. 使用一些简单的代码编辑脚本任务,例如:

    // TODO:在此处添加您的代码

    string test = "test";
    
    MessageBox.Show("test " + test);
    
    Dts.TaskResult = (int)ScriptResults.Success;
    
  4. 在MessageBox行上放置一个断点,然后启动调试(F5)。断点有效!

  5. 再次编辑脚本任务,添加对Microsoft Excel对象库16.0(COM对象部分)的引用。
  6. 再次尝试调试。断点不起作用!
  7. 你明白了。
  8. 我在32位Windows 7上使用DataTools(Visual Studio 2015),目标框架是.NET Framework 4.5。

1 个答案:

答案 0 :(得分:0)

发生这种情况是因为Excel.Interop是COM扩展,带有COM扩展名的C#代码不能使用断点。因此,我使用MessageBox.Show或静态类将给定的字符串记录到SQL表中,以查看C#代码中发生的情况