Autofac无法解析Microsoft.Office.Interop.Word.Application
创始人
2024-11-12 12:00:35
0

Autofac无法识别COM对象,因此我们需要使用一种不同的解决方案。我们可以使用COM互操作性扩展,其中包括绑定到COM对象并对其进行操作的类。

下面是使用COM互操作性扩展实现的代码示例:

首先,我们需要将Microsoft.Office.Interop.Word程序集引用添加到项目中,并添加对InteropServices命名空间的引用:

using System.Runtime.InteropServices;

然后,我们定义Word应用程序类并将其绑定到COM对象:

[ComImport] [Guid("000209FF-0000-0000-C000-000000000046")] [CoClass(typeof(ApplicationClass))] public interface Application : _Application, AppEvents_Event { }

[ComImport] [Guid("00020970-0000-0000-C000-000000000046")] [TypeLibType(TypeLibTypeFlags.FDispatchable)] [ComVisible(true)] public interface ApplicationClass : _Application, Application { }

[ComImport] [TypeLibType(TypeLibTypeFlags.FDual | TypeLibTypeFlags.FDispatchable | TypeLibTypeFlags.FHidden)] [Guid("00020970-0000-0000-C000-000000000046")] [ComVisible(true)] public interface _Application { [DispId(23)] Documents Documents { get; }

[DispId(34)]
void Quit();

}

接下来,在程序中创建Autofac容器并注册我们的Word应用程序类:

var builder = new ContainerBuilder(); builder.RegisterType().AsSelf(); var container = builder.Build();

最后,我们可以在需要使用Word应用程序的地方解析它:

using (var scope = container.BeginLifetimeScope()) { var word = scope.Resolve(); // 对Word应用程序进行操作 word.Quit(); }

这样,我们就可以成功地使用Autofac解析Microsoft.Office.Interop.Word应用程序了。

相关内容

热门资讯

透视系统!白金岛放炮罚开挂,菠... 透视系统!白金岛放炮罚开挂,菠萝辅助器免费版的特点(辅助挂)详细开挂辅助器;亲,菠萝辅助器免费版的特...
科技介绍!开心十三水辅助工具,... 您好:开心十三水辅助工具这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的...
透明讲解!微友辅助,佛手大菠萝... 您好:这款佛手大菠萝有挂吗游戏是可以开挂的,确实是有挂的,很多玩家在这款佛手大菠萝有挂吗游戏中打牌都...
今日头条!潮友汇app辅助,开... 您好:开心门一番有挂吗这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌...
透视规律!如何在哈灵上辅助,e... >>您好:如何在哈灵上辅助确实是有挂的,很多玩家在这款如何在哈灵上辅助游戏中打牌都会发现很多用户的牌...
我来分享!传送屋辅助软件下载最... >>您好:传送屋辅助软件下载最新版本更新内容确实是有挂的,很多玩家在这款传送屋辅助软件下载最新版本更...
透视存在!宝宝浙江辅助,pok... 透视存在!宝宝浙江辅助,pokemmo辅助官网(辅助挂)详细开挂辅助安装您好:pokemmo辅助官网...
让我来分享经验!传送屋辅助软件... 传送屋辅助软件下载最新版本更新内容是一款专注玩家量身打造的游戏记牌类型软件,在传送屋辅助软件下载最新...
透明攻略!多乐找刺激脚本辅助,... 您好:这款多乐找刺激脚本辅助游戏是可以开挂的,确实是有挂的,很多玩家在这款多乐找刺激脚本辅助游戏中打...
查到实测!新海贝之城辅助,决战... 查到实测!新海贝之城辅助,决战卡五星必赢神器(果真有挂辅助脚本);无需打开直接搜索薇:1367043...