@@ -252,21 +252,32 @@ async System.Threading.Tasks.Task InternalRunTransform()
252
252
resolved = new Uri ( _context . baseUri , this . _context . xsltfilename ) ;
253
253
if ( resolved != this . _xsltUri || IsModified ( ) )
254
254
{
255
- _xslt = new XslCompiledTransform ( ) ;
256
- this . _loaded = DateTime . Now ;
257
- var settings = new XsltSettings ( true , this . _context . enableScripts ) ;
258
- settings . EnableScript = _trustService . CanTrustUrl ( resolved ) == true ;
259
- var rs = new XmlReaderSettings ( ) ;
260
- rs . DtdProcessing = this . _context . ignoreDTD ? DtdProcessing . Ignore : DtdProcessing . Parse ;
261
- rs . XmlResolver = this . _context . resolver ;
262
- using ( XmlReader r = XmlReader . Create ( resolved . AbsoluteUri , rs ) )
255
+ try
263
256
{
264
- _xslt . Load ( r , settings , this . _context . resolver ) ;
265
- }
257
+ _xslt = new XslCompiledTransform ( ) ;
258
+ this . _loaded = DateTime . Now ;
259
+ var settings = new XsltSettings ( true , this . _context . enableScripts ) ;
260
+ settings . EnableScript = _trustService . CanTrustUrl ( resolved ) == true ;
261
+ var rs = new XmlReaderSettings ( ) ;
262
+ rs . DtdProcessing = this . _context . ignoreDTD ? DtdProcessing . Ignore : DtdProcessing . Parse ;
263
+ rs . XmlResolver = this . _context . resolver ;
264
+ using ( XmlReader r = XmlReader . Create ( resolved . AbsoluteUri , rs ) )
265
+ {
266
+ _xslt . Load ( r , settings , this . _context . resolver ) ;
267
+ }
266
268
267
- // the XSLT DOM is also handy to have around for GetOutputMethod
268
- this . _xsltdoc = new XmlDocument ( ) ;
269
- this . _xsltdoc . Load ( resolved . AbsoluteUri ) ;
269
+ // the XSLT DOM is also handy to have around for GetOutputMethod
270
+ this . _xsltdoc = new XmlDocument ( ) ;
271
+ this . _xsltdoc . Load ( resolved . AbsoluteUri ) ;
272
+ }
273
+ catch ( Exception )
274
+ {
275
+ // remember that this xslt is broken.
276
+ this . _xslt = null ;
277
+ this . _xsltUri = null ;
278
+ this . _xsltdoc = null ;
279
+ throw ;
280
+ }
270
281
}
271
282
transform = _xslt ;
272
283
this . _usingDefaultXslt = false ;
0 commit comments