升级Office 2019至2021后,GAC文件夹中Interop DLLs消失,是否迁移至新位置?
Office 2021中Interop DLLs的位置变化
- Office 2021(包括Microsoft 365)不再将PIA(主互操作程序集)安装到全局程序集缓存(GAC)中,这是微软为轻量化部署和版本隔离做出的调整。
- 目前获取Interop相关程序集有两种主流方式:
- 嵌入式互操作类型:在Visual Studio中引用Office COM组件时,默认会启用
Embed Interop Types选项(可在引用属性面板查看)。该设置会把所需的互操作类型直接嵌入到你的应用程序集内,无需依赖外部PIA文件。 - NuGet包安装:微软官方提供了对应Office组件的NuGet包,比如
Microsoft.Office.Interop.Excel、Microsoft.Office.Interop.Word等。直接通过NuGet安装这些包后,程序集会被下载到项目的packages目录下,供项目直接引用。
- 嵌入式互操作类型:在Visual Studio中引用Office COM组件时,默认会启用
补充提示:如果你的旧项目依赖GAC中的PIA,升级Office后需要调整引用方式——要么启用嵌入式类型,要么替换为NuGet包引用,否则可能出现程序集找不到的错误。
内容的提问来源于stack exchange,提问作者Morpheus
相关产品推荐
相关产品推荐

