.net ';系统。共对象';不包含.WithComCleanup()的定义

.net ';系统。共对象';不包含.WithComCleanup()的定义,.net,vsto,com-interop,.net,Vsto,Com Interop,将项目从VS2010升级到VS2012后,我遇到了以下错误: “System.\uuu ComObject”不包含的定义 .WithComCleanup()) 运行此命令行代码时: using (var cell = usedRange.Resource.Find(reservedWord, LookIn: XlFindLookIn.xlFormulas, After: usedRange.Resource.Cells[usedRange.Resource.Rows.Count, usedRan

将项目从VS2010升级到VS2012后,我遇到了以下错误:

“System.\uuu 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())

我想与大家分享一下这个恼人问题的解决方案,在中间窗口中执行该行时,您会得到提示:

嵌入的互操作类型“Microsoft.Office.interop.Excel.XlFindLookIn”为 在“Excel.dll”和“XYZ.ExcelAddin.ABC.dll”中定义。一些 调试时不支持对此类型对象的操作。 考虑在调试时将此对象铸造为“动态”类型。 “嵌入互操作类型”属性设置为false的生成


我通过将引用DLL Microsoft.Office.Interop.Excel的嵌入互操作类型设置为False解决了此问题我通过将引用DLL的
嵌入互操作类型设置为
False解决了此问题
Microsoft.Office.Interop.Excel
,但我收到消息:

System.IO.FileNotFoundException: "Could not load file or assembly 'office, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c'. Не удается найти указанный файл."

生成项目时运行ProcessMonitor,并查看Visual Studio在哪里查找DLL。将ref DLL放在预期的位置,或从c:\Program Files\Office15\PIA文件夹中重新引用正确的DLL。请提出新问题,而不是发布后续问题作为答案。。。