You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SaxonCS在Docker容器中处理XSLT时的URI解析异常问题求助

SaxonCS在Docker容器中处理XSLT时的URI解析异常问题求助

大家好,我最近碰到个头疼的问题,想请各位帮忙分析下:我用.NET/C#写了个基于SaxonCS做XSLT处理的组件,在Windows主机应用里跑起来完全正常,但放到Docker容器里运行时,就出现了URI解析相关的异常。

先贴一下我的核心代码片段:

processor = new Processor(configStream, new Uri("file://"));
uri = new Uri(new FileInfo(styleSheetPath).FullName);
try 
{
    var compiler = processor.NewXsltCompiler();
    using FileStream styleSheetStream = new(styleSheetPath, FileMode.Open, FileAccess.Read);
    Executable = compiler.Compile(styleSheetStream, uri);
} 
catch (Exception ex) 
{
    // 这里捕获到了异常
}

我对比了两种环境下生成的URI:

  • Windows主机上,生成的URI是:file:///C:/[...Path to XSLT...]/Mapping.xslt,完全正常运行
  • Docker容器里,生成的URI是:file:///app/[...Path to XSLT...]/Mapping.xslt,看起来也是标准的绝对文件URI对吧?

但在Docker环境里,运行时直接抛出了这个异常:

System.InvalidOperationException: This operation is not supported for a relative URI.

我实在搞不懂,这两个URI明明都是绝对路径,为啥Docker里会报相对URI的错误?现在想找个能同时兼容Windows和Docker两种环境的解决办法,麻烦各位支支招!

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 08:47:59