尝试在Visual Studio中调试XSLT时出现System.Xml.Xsl.CompiledQuery.Query.staticData错误

时间:2015-05-21 19:16:48

标签: visual-studio-2010 xslt visual-studio-2013

我使用Visual Studio 2010创建了一个简单的XSLT文件,它在我的机器上运行得很好。但是,当我的同事试图在她的电脑上使用Visual Studio 2013运行它时,它通知她该文件无法运行并生成此消息:

  

尝试方法' System.Xml.Xsl.XslCompiledTransform.Load(System.Type)'访问字段' System.Xml.Xsl.CompiledQuery.Query.staticData'失败。

然而,当我在我的文件中做了一个简单的文本副本并将其粘贴到她的机器上的一个新的空白XSLT文件(使用VS 2013)并用另一个名称保存它,然后即使它运行得很好与我的原版完全相同。好像存在一些反向兼容性问题。有没有其他人经历过这个,如果是这样,你知道任何永久性修复,所以我们不必一直复制粘贴吗?正在从本地驱动器运行XSLT文件。

5 个答案:

答案 0 :(得分:23)

这两个答案都不适用于我,但MS Connect错误报告中的workarounds之一已经多次为我工作:

  1. 在Windows资源管理器中打开XSLT文件的属性
  2. 在“常规”标签上,查找“取消阻止”按钮。
  3. 单击它,然后单击“确定”
  4. 这里似乎有某种安全功能可以检测到文件来自另一台机器并且它在XSLT调试器中弄脏了什么。

答案 1 :(得分:4)

将编码从UTF-8更改为ANSI(或任何其他编码)并返回UTF-8为我修复了它。与创建新文件没什么不同,但更容易一点。

答案 2 :(得分:1)

编码对我不起作用,但我有一个解决方法。我在VS 2015中遇到此错误,因此这个错误已经存在了一段时间。

不要这样做:要测试转换我通常打开xslt,光标在其中,然后在顶部菜单上单击xml-&gt; start xslt debugging-&gt;浏览到xml文件< / p>

这样做:与上面相反,即打开XML文件(而不是xslt),然后单击xml-&gt; start xslt debugging-&gt;浏览到XSLT文件。

不确定为什么会有效,但确实如此。

答案 3 :(得分:0)

我的问题是xslt文件位于网络驱动器上。将文件移动到我的机器上的本地驱动器可以解决问题。

Microsoft's feedback forum

得到了这个想法

答案 4 :(得分:0)

对于未来的访问者,上述解决方案(即使在 Microsoft 论坛中)都不适合我。我确实尝试了每个 VS 版本(包括专业版和社区版),但没有任何变化。

唯一对我有用的是:

1- 复制 XSL 文件中的所有文本

2-文件(左上角)->新建->文件->XSLT文件

3- 粘贴文本并运行

这是唯一对我有用的方法。