私は試してみましたが、(XslCompiledTransform.Load() メソッドに URI を渡すことによって) ディスクからスタイルシートをロードすることなく、XslCompiledTransform にステップインすることはできません。
XslCompiledTransform.Transform() メソッドにステップ インできるのは、前述のように URI を介してディスクからスタイルシートをロードした場合、または IXmlLineInfo インターフェイスを実装する XmlReader からスタイルシートをロードした場合のみであることを十分承知しています。
次のようにスタイルシートをロードしました。
XslCompiledTransform xslt = new XslCompiledTransform(true);
//grab string from textbox
XmlReader reader = XmlReader.Create(new StringReader(XsltBox.Text));
// Compile the style sheet.
xslt.Load(reader);
これは、私が読んださまざまな文献から、デバッグを有効にする方法のようです。ただし、XslCompiledTransform.Transform() メソッドにステップインしようとすると、「現在の場所で使用できるソース コードがありません」というメッセージが表示されます。
前述のように、次の手順を実行すると、変換に入ることができます。
string stylesheet = @"C:\PathToMy\Stylesheet.xsl";
// Enable XSLT debugging.
XslCompiledTransform xslt = new XslCompiledTransform(true);
//compile stylesheet
xslt.Load(stylesheet);
ディスクとの間で常に読み取りを行いたくないため、上記の方法は不可能です。
その有用なコメントをありがとう、私はマイクロソフトがこれを行ったことに気づいていませんでした.これは将来的に非常に役立つと確信しています.
しかし、私は自分の質問で自分自身を完全に明確にしていないと思います. xsl 変換で何が起こっているかを確認できるように、変換メソッドにステップインしたかったのです。渡すパラメーターによって、変換メソッドをデバッグできるかどうかが決まるため、load メソッドを強調しました (そうするには、IXmlLineInfo インターフェイスを実装する XmlReader を渡す必要があります)。
強調表示した手法を使用して変換メソッドにステップインすることはできますが、コードをステップ実行するだけです。コードを観察することで、変換で何が起こっているのかを突き止めることができたかもしれませんが、xsl デバッガーは、実際のスタイルシート自体を 1 行ずつ (変換の各行を実行するコードとは対照的に) ステップスルーして表示します。