查看Visual Studio的XSLT调试器的输出

时间:2010-10-20 00:34:37

标签: debugging visual-studio-2010 xslt

我正在使用Visual Studio来调试转换。如果我正在查看转换并选择 XML > 启动XSLT调试,VS自动打开输出文件,当我逐步完成转换时,我可以观察正在写入的输出。

在我的情况下,因为转换是由首先设置一些参数的应用程序执行的,所以我使用以下代码进入XSLT调试器:

XslCompiledTransform xslTransform = new XslCompiledTransform(true); // enableDebug
XmlUrlResolver urlResolver = new XmlUrlResolver();
XsltSettings xsltSettings = new XsltSettings(true, true);
XsltArgumentList transformArgumentList = new XsltArgumentList();
// some arguments are set here
xslTransform.Load(transformFilePath, xsltSettings, urlResolver);             
using (XmlWriter writer = XmlWriter.Create(outputFilePath))
{
    xslTransform.Transform(inputFile, transformArgumentList, writer, urlResolver);
}

在对Transform的调用上设置断点。启动调试器后,它按预期在Transform上中断。当我使用F11 / 调试> Step Into ,我输入XSLT文件并可以单步执行,但我看不到它的输出。

我是否需要设置一个选项,以便在写入时查看输出,就像在前一种模式中一样?

3 个答案:

答案 0 :(得分:2)

我不确定您是否可以在调试器中检查流。一旦XSLT调试开始,您将不再处于.NET世界中。我的本地窗口仅显示XSLT元素。

如果你想投票,我做了feature request

答案 1 :(得分:0)

不幸的是,我不知道。

我必须承认我并不经常需要这个,但是你可以用writer后备流替换MemoryStream(有条件地在调试时),这至少可以让你看到xml输出通过检查调试器中的流。

答案 2 :(得分:0)

不确定这是否会对任何人有所帮助,但这里是微软"如何:开始调试XSLT" http://msdn.microsoft.com/en-us/library/ms255603%28v=vs.110%29.aspx