시도하고 시도했지만 시도해 볼 수 없습니다. XslCompiledTransform.Load() 메서드에 URI를 전달하여 디스크에서 스타일 시트를로드하지 않아도 XslCompiledTransform으로 이동할 수 없습니다.XslCompiledTransform C#에서 디버깅
디스크에서 스타일 시트를 URI를 통해로드 한 경우 (언급 한 바와 같이) 또는 IXmlLineInfo 인터페이스를 구현하는 XmlReader에서 스타일 시트를로드하는 경우에만 XslCompiledTransform.Transform() 메서드로 들어갈 수 있다는 것을 완전히 알고 있습니다.
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);
디스크를 계속해서 읽고 싶지 않기 때문에 위의 방법을 사용할 수 없습니다. 당신이 유용한 코멘트, 내가 마이크로 소프트를 실현하지 않았다
덕분에 내가이 미래에 매우 도움이 될 것이라 확신합니다, 이런 짓을했다.
그러나 나는 내 질문에 완전히 자신을 분명히하지 않았다고 생각합니다. 나는 load 메소드를 실행하는 것을 보지 않았다. 변환 메소드에 들어가서 xsl 변환으로 어떤 일이 벌어지는 지 알 수 있었다. 당신이 전달하는 매개 변수가 transform 메소드를 디버깅 할 수 있는지 여부를 지정하기 때문에 load 메서드를 강조했습니다. IXmlLineInfo 인터페이스를 구현하는 XmlReader를 전달해야합니다.
강조 표시된 기술을 사용하여 변형 방법을 사용할 수 있지만 코드를 단계별로 살펴 보겠습니다. xsl 디버거는 실제 스타일 시트 자체를 라인 단위로 단계별로 보여줍니다 (변환의 각 행을 실행하는 코드와 반대 됨)
프레임 워크의 Transform() 구현을 디버깅하려고하거나 XSLT에 중단 점을 설정하려고합니까? – bryanbcook
AFAIK, Visual Studio의 XSLT 디버거에서는 불가능합니다. 디버깅을 위해 항상 디스크에 XSLT 파일이 있어야합니다. –