我试图在我的项目中嵌入word文档。该文档将被特定库用作模板。
我已使用Project | Add Existing Item...
添加了该文件,我还将构建操作设置为 资源 及其复制到输出目录到 不要复制 。
现在在我的代码背后,我这样做是为了访问该文件:
var template = DocX.Load("pack://application:,,,/doc1.docx");
但是我得到了一个例外:发生了XamlParseException。
我在这里做错了什么?
答案 0 :(得分:3)
您需要使用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#
并将构建操作更改为嵌入式资源。