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

相关内容

热门资讯

透视新版!红龙poker作弊指... 透视新版!红龙poker作弊指令(透视)本来真的是有挂(详细辅助玩家教你);1、进入游戏-大厅左侧-...
透视肯定!德州局hhpoker... 透视肯定!德州局hhpoker(透视)真是是真的有挂(详细辅助必备教程)1、玩家可以在软件透明挂俱乐...
透视存在!wpk插件(透视)一... 透视存在!wpk插件(透视)一贯存在有挂(详细辅助解说技巧)辅助器中分为三种模型:软件透明挂辅助挂、...
透视实锤!epoker免费透视... 透视实锤!epoker免费透视脚本(透视)都是真的是有挂(详细辅助AI教程)1、系统规律教程、辅助透...
透视脚本!wepoker辅助是... 透视脚本!wepoker辅助是真的吗(透视)切实有挂(详细辅助安装教程)运辅助工具,进入游戏界面。进...
透视实锤!aapoker怎么拿... 透视实锤!aapoker怎么拿好牌(透视)总是存在有挂(详细辅助新版2025教程)1、让任何用户在无...
透视数据!wepoker辅助器... 透视数据!wepoker辅助器安装包(透视)原来是有挂(详细辅助辅助教程)该软件可以轻松地帮助玩家将...
透视科技!红龙poker辅助工... 透视科技!红龙poker辅助工具(透视)竟然真的有挂(详细辅助可靠教程)1、红龙poker辅助透视辅...
透视ai代打!aapoker辅... 透视ai代打!aapoker辅助插件工具(透视)原来真的是有挂(详细辅助必备教程)1)aapoker...
透视模拟器!wepoker有人... 透视模拟器!wepoker有人用过吗(透视)真是有挂(详细辅助2025新版教程)1、每一步都需要思考...