使用DocX从.NET Framwork转为.NET Core遇到的一些问题

最近在使用DocX操作文档时,因为项目是.NET Core的,而DocX是.NET Framwork的,于是在网上找到了反编译的DocXCore包。
奉上地址(https://github.com/deeround/DocXCore)
因为该反编译的包版本较低,不能实现所需功能,随在此基础上,直接将DocX V1.7.1的版本移植为.NET Core的框架。
在过程中,遇到了此问题:
Assembly.GetManifestResourceStream()为null.

遂查资料,有两种可能性:
1.未设置为嵌入的资源
解决方案:右键 属性-〉生成操作类型是“编译”,将其改成“嵌入的资源”

https://blog.csdn.net/zhanglei5415/article/details/2303493?utm_medium=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-1.nonecase&depth_1-utm_source=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-

2.读取资源的命名空间不对
解决方案:使用以下方法,获取当前资源的文件路径,并修改调取资源的路径为该路径
Assembly.GetExecutingAssembly().GetManifestResourceNames();
返回此程序集中的所有资源的名称。

https://docs.microsoft.com/zh-cn/dotnet/api/system.reflection.assembly.getmanifestresourcenames?view=netcore-3.1

posted @ 2020-12-07 16:04  可达鸭鸭  阅读(94)  评论(0编辑  收藏  举报