'System .__ ComObject'不包含.WithComCleanup()的定义

时间:2013-11-21 03:31:36

标签: .net vsto com-interop

由于将项目从VS2010升级到VS2012,我收到错误:

  

'System .__ ComObject'不包含。的定义   .WithComCleanup())

运行此命令行代码时:

using (var cell = usedRange.Resource.Find(reservedWord, LookIn: XlFindLookIn.xlFormulas, After: usedRange.Resource.Cells[usedRange.Resource.Rows.Count, usedRange.Resource.Columns.Count]).WithComCleanup())

2 个答案:

答案 0 :(得分:3)

以为我会分享这个令人讨厌的问题的解决方案,当在中间窗口中执行该行时,你得到了提示:

  

嵌入式互操作类型'Microsoft.Office.Interop.Excel.XlFindLookIn'是   在'Excel.dll'和'XYZ.ExcelAddin.ABC.dll'中定义。一些   调试时不支持对此类对象的操作。   在调试或调用时,请考虑将此对象强制转换为“dynamic”   将“嵌入互操作类型”属性设置为false的构建。

我通过将嵌入互操作类型设置为False 解决了参考DLL Microsoft.Office.Interop.Excel

的问题

答案 1 :(得分:0)

我通过将参考DLL Embed Interop Types的{​​{1}}转到False来解决了这个问题,但是我收到消息:

Microsoft.Office.Interop.Excel