C# 无法打开.xsn文件

C# 无法打开.xsn文件,c#,asp.net,sharepoint,infopath,C#,Asp.net,Sharepoint,Infopath,当我尝试打开attachement.xsn文件时,收到以下错误消息 Infopath无法创建新的空白表单。该文件不是有效的XML文件 我用过 Response.ContentType = "application/x-microsoft-InfoPathFormTemplate"; Response.AppendHeader("Content-Disposition", string.Format("attachment; filename=filenam1.xsn"); 你能告诉我这里有什么

当我尝试打开attachement.xsn文件时,收到以下错误消息

Infopath无法创建新的空白表单。该文件不是有效的XML文件

我用过

Response.ContentType = "application/x-microsoft-InfoPathFormTemplate";
Response.AppendHeader("Content-Disposition", string.Format("attachment; filename=filenam1.xsn");
你能告诉我这里有什么问题吗

谢谢。

问题出在这里

在我的例子中,当你使用IE 10时,文件从未真正下载过。相反,IE将InfoPath作为子进程生成,并将主机页的URL作为参数提供

因为您使用的是Response.TransmitFile或类似的文件,所以主页的URL与表单模板的URL不匹配。您收到无效的xml错误,因为InfoPath正在尝试将网页的HTML解析为表单模板

看来。从链接:

3在IE中,决定如何显示内容的方法查看mime类型、文件的第一个字节、扩展名和注册表设置。如果你的内容看起来像HTML,那就是它的显示方式

5这个问题没有已知的解决方案,所以你必须接受它

6内容处置对问题没有影响


我的建议是,如果可能的话,通过HTTP处理程序或其他机制,向表单模板公开一个实际的URL,除非这里有人知道更好的解决方案。

您期望的是什么行为?是否允许InfoPath designer呈现所附文档?是的,我可以从磁盘打开文件InfoPath designer。上载后,我无法打开该文件。我现在无法对此进行原型化,但似乎正在触发InfoPath Filler应用程序而不是设计器,因此出现了一条关于需要xml文件的消息。可能是ContentType问题?filename1.xsn看起来像什么?