【发布时间】: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