我的解决方案中的docx文件不发布到IIS

本文关键字:IIS 文件 解决方案 docx 我的 | 更新日期: 2023-09-27 18:19:46

我可能做得不对,但在Silverlight应用程序的网站组件中,我添加了一些docx文件,这些文件在发布到IIS 7.5时不可用。在我的开发环境中,它工作得很好,我可以参考docx文件。每个docx文件都有一个"内容"的生成操作,"复制到输出目录"设置为"始终复制"。当我构建解决方案时,我可以在适当的文件夹中看到本地开发机器上的docx文件。当我发布到IIS时,在web服务器上包含网站的文件夹结构中找不到docx文件。我尝试手动将docx文件复制到web服务器,但我的应用程序仍然看不到它们。

当我发布到IIS时,有没有更好的方法让我的docx文件搭上我的应用程序的顺风车?

我的解决方案中的docx文件不发布到IIS

我不知道如何在发布期间复制docx文件,但我找到了一个解决方法。如果将生成操作更改为嵌入,则可以在代码中引用这些文件。以下是微软的嵌入方法:

http://support.microsoft.com/kb/319292

要引用文件,请使用以下内容:

// The Reporting.Web part is my namespace. Everything here is case sensitive!
string template = "Reporting.Web.PerfRevH1.docx";
Assembly loader = Assembly.GetExecutingAssembly();
var rawstream = loader.GetManifestResourceStream(template);
byte[] byteArray = rawstream.ReadToEnd();

为了将流读取到字节数组中,我在这个SO问题中使用了一个扩展方法:如何在C#中将流转换为byte[]?