迁移至PackageReference后Microsoft.Office.Interop.Excel无法正常使用
解决Microsoft.Office.Interop.Excel迁移至PackageReference后的属性识别问题
可能的原因及修复步骤
重新安装对应NuGet包
迁移到PackageReference后,Microsoft.Office.Interop.Excel的互操作程序集可能未正确部署。先卸载当前包,再重新安装与你本地Office版本兼容的Microsoft.Office.Interop.ExcelNuGet包,确保安装过程无报错。调整嵌入互操作类型设置
在项目引用里找到Microsoft.Office.Interop.Excel,右键打开属性面板,检查“嵌入互操作类型”是否设为False。如果是True,会导致部分类型成员无法被编译器识别,修改为False后重新编译项目。清理缓存并重建项目
迁移残留的旧引用缓存可能引发冲突:- 删除项目目录下的
bin和obj文件夹 - 在Visual Studio中执行“生成”→“清理解决方案”,再重新生成整个解决方案
- 删除项目目录下的
确认Office版本兼容性
确保本地安装的Office版本与引用的互操作程序集版本匹配。若项目需适配多版本Office,建议使用兼容的互操作程序集包,或确认当前引用版本与本地Office一致。明确类型与命名空间引用
检查代码中Rows和Cells的调用对象是否正确,比如是否是Excel.Worksheet实例的属性。迁移后可能出现命名空间冲突,需明确指定类型,例如:Excel.Worksheet targetSheet = excelApp.ActiveWorkbook.ActiveSheet; var rows = targetSheet.Rows;
内容的提问来源于stack exchange,提问作者Justin
相关产品推荐
相关产品推荐

