VS2017 C#中ExcelDataReader找不到但编译运行正常问题求助
这种编辑器误报的情况确实挺闹心的——明明代码能跑,功能也正常,就是红线扎眼。试试下面这几个方法,大概率能搞定:
清理并重建解决方案
点击菜单栏的Build->Clean Solution,清理完成后再选择Rebuild Solution。有时候VS的缓存会抽风,清理重建能强制刷新它的代码索引。重置IntelliSense缓存
按下快捷键Ctrl+Shift+R(或者通过菜单栏Edit->IntelliSense->Refresh Local Cache操作),强制刷新IntelliSense的本地缓存。这招对很多编辑器莫名报错的情况都有效。检查项目目标框架与NuGet包兼容性
右键项目选择Properties,查看Target Framework是否和ExcelDataReader包支持的框架版本匹配。比如部分新版ExcelDataReader不再支持.NET Framework 4.5及以下版本,若项目框架过低,即便能编译通过,编辑器也可能出现识别异常。删除缓存文件与目录
关闭VS,找到项目文件夹,删除隐藏的.suo文件(需先开启显示隐藏文件),再删掉bin和obj两个目录,之后重新打开项目。这两个目录里的缓存文件偶尔会导致编辑器识别逻辑混乱。更新VS2017至最新版本
老版本VS2017存在一些已知的IntelliSense Bug,打开VS Installer检查并安装可用更新,把VS升级到最新补丁版本,说不定就能解决这个问题。手动添加程序集引用(备选方案)
如果以上方法都无效,可以右键项目 ->Add->Reference,找到NuGet安装的ExcelDataReader程序集(一般在packages/ExcelDataReader.x.x.x/lib对应框架目录下)手动添加引用。注意:此方法可能和NuGet包管理产生冲突,后续更新包时需留意。
内容的提问来源于stack exchange,提问作者flying_tonite

