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应用程序了。

相关内容

热门资讯

第5分钟安装!大唐麻将辅助软件... 第5分钟安装!大唐麻将辅助软件,哥哥打大a辅助(切实存在有辅助插件)-哔哩哔哩1、每一步都需要思考,...
第三分钟步骤!约局吧是否有挂(... 第三分钟步骤!约局吧是否有挂(透视)一贯有辅助工具(哔哩哔哩)1、打开软件启动之后找到中间准星的标志...
六分钟指引!红龙poker辅助... 六分钟指引!红龙poker辅助器免费观看(透视)其实有辅助开挂(哔哩哔哩)1)红龙poker辅助器免...
8分钟辅助!逗娱科技碰胡辅助,... 8分钟辅助!逗娱科技碰胡辅助,凑一桌开挂(切实是真的辅助app)-哔哩哔哩1、逗娱科技碰胡辅助模拟器...
四分钟大纲!wepoker辅助... 四分钟大纲!wepoker辅助分析器(透视)确实真的是有辅助下载(哔哩哔哩)所有人都在同一条线上,像...
七分钟插件!皇豪互娱控制系统a... 七分钟插件!皇豪互娱控制系统app,桂麻圈破解版ios(原来有挂辅助插件)-哔哩哔哩1、许多玩家不知...
第七分钟妙招!wpk德州局透视... 第七分钟妙招!wpk德州局透视(透视)原来存在有辅助下载(哔哩哔哩)1.wpk德州局透视 选牌创建新...
7分钟辅助!hhpoker这个... 7分钟辅助!hhpoker这个软件靠谱吗,乐平包王讨赏辅助(原来存在有辅助脚本)-哔哩哔哩1、首先打...
第3分钟秘籍!wepoker辅... 第3分钟秘籍!wepoker辅助器免费(透视)都是是真的有辅助透视(哔哩哔哩)1、每一步都需要思考,...
第5分钟脚本!多乐手游辅助软件... 第5分钟脚本!多乐手游辅助软件,边锋老友威海荣成辅助(真是存在有辅助神器)-哔哩哔哩1、每一步都需要...