【问题标题】:Why doesn't Excel Interop support Watches in Visual Studio?为什么 Excel Interop 不支持 Visual Studio 中的 Watches?
【发布时间】:2021-01-28 22:14:08
【问题描述】:

我正在调试一些使用Microsoft.Office.Interop.Excel;的代码

对于任何变量,无论其性质或复杂性如何,调试器都完全无法获取其值。 假设我有这段代码:

for (int i = 1; i <= myWorksheet.Range["MY_RANGE"].Rows.Count; i++)
{
   var tempValue = cells[i, 1].Value2;
}

我可以在表达式 tempValue 上添加监视,但 Visual Studio 监视中的表达式 cells[i, 1].Value2 会产生

错误 CS1061:“object”不包含“Value2”的定义,并且找不到接受“object”类型的第一个参数的可访问扩展方法“Value2”(您是否缺少 using 指令或程序集引用? )

虽然执行工作正常,并且tempValue 有一个值。

cells[i,1] 的类型为 {System.__ComObject}。它的任何属性都会引发 CS1061 错误。

这非常令人沮丧,因为我无法观察任何变量的值,除非它在代码中专门执行(我无法通过手表得到它)。

知道为什么我不能通过手表观察这些值吗?我怀疑这是基于 VS 的..

【问题讨论】:

    标签: c# visual-studio excel-interop


    【解决方案1】:

    在 Visual Studio 中的 Tools-->Options-->Debugging 中启用“Use Managed Compatibility Mode”选项。

    【讨论】:

      猜你喜欢
      • 2017-02-07
      • 1970-01-01
      • 1970-01-01
      • 2012-11-05
      • 2021-10-10
      • 2021-11-30
      • 2017-02-09
      • 2017-03-12
      • 1970-01-01
      相关资源
      最近更新 更多