如何在Visual Studio 2022调试器中启用XPath/XSLT的document()函数
解决Visual Studio调试XSLT时document()函数被禁止的警告
当你用Visual Studio的XSLT调试器时,确实没有直接的UI设置来开启document()函数——这个警告里提到的XsltSettings.EnableDocumentFunction是必须在C#代码中配置的属性,Visual Studio的调试工具本身没提供对应的开关选项。
你可以先写一段极简的测试代码来绕开这个限制,具体操作:
- 创建一个临时控制台项目
- 编写如下代码,加载你的XSLT和目标XML,同时开启
document()函数权限:
using System; using System.Xml; using System.Xml.Xsl; class Program { static void Main() { // 实例化XsltSettings并开启document()函数 XsltSettings settings = new XsltSettings(false, true); XslCompiledTransform xslt = new XslCompiledTransform(true); // true启用调试支持 // 替换为你的XSLT文件路径 xslt.Load("你的XSLT文件路径.xslt", settings, new XmlUrlResolver()); // 替换为你的XML文件路径 using (XmlReader reader = XmlReader.Create("你的XML文件路径.xml")) { // 执行转换,输出到控制台 xslt.Transform(reader, null, Console.Out); } } }
- 在你的XSLT文件中设置断点,运行这个控制台项目,Visual Studio会自动触发XSLT调试器,此时
document()函数就能正常执行了。
等你后续编写正式业务代码时,沿用这个XsltSettings的配置逻辑即可。
内容的提问来源于stack exchange,提问作者Christopher Kellett
相关产品推荐
相关产品推荐

