如何在 .net 中嵌入 word 文档

How to embed a word document in .net

我正在尝试在我的项目中嵌入一个 word 文档。此文档将用作特定图书馆的模板。

我使用 Project | Add Existing Item... 添加了文件,我还将其 Build Action 设置为 Resource及其复制到输出目录不复制.

现在在我后面的代码中,我这样做是为了访问文件:

var template = DocX.Load("pack://application:,,,/doc1.docx");

但我得到一个异常:发生了 XamlParseException。

我做错了什么?

您需要使用Assembly.GetManifestResourceStream method从资源中获取文档流,如下例所示:

var assembly = Assembly.GetExecutingAssembly();
var resourceName = "MyNamespace.doc1.docx"  // check your resource name.
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
{
    var template = DocX.Load(stream);
}

另请查看此信息:How to embed and access resources by using Visual C#

并且还将构建操作更改为嵌入式资源。