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

SSIS Script task breakpoints doesn't work when using Interop Excel

当我添加 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. 你明白了。

我在 32 位 Windows7 上使用 DataTools (Visual Studio 2015),目标框架是 .NET Framework 4.5。

因为Excel.Interop是COM扩展,带有COM扩展的C#代码不能使用断点。因此,我使用 MessageBox.Show 或静态 class 将给定字符串记录到 SQL table 以查看我的 C# 代码

中发生了什么