如何在Docker容器中使用.NET核心访问远程URI?

我一直在试图解决这个问题,现在已经很长时间了,我一直无法find一个可行的解决scheme。

我不能得到我的XmlReader.Create(String uri, XmlReaderSettings settings) (或XDocument.Load(String uri) ),以实现我试图使用一个远程服务的path。

这个问题很容易重现(我希望):运行一个.NET Core 2.0控制台应用程序,试图访问:

 XmlReader xmlReader = XmlReader.Create("file://magic.example.com/test.xml", xmlReaderSettings); 

要么

 XDocument doc = XDocument.Load("file://magic.example.com/test.xml"); 

将其转换为Docker项目(Linux,不是Windows),然后运行它。 我发现得到的错误是:

 System.IO.FileNotFoundException: 'Could not find file '/app/\\magic.example.com\test.xml'.' 

破坏的要求 :我的组织使用Windows风格的文件共享,我们希望保持这一点,我可以回到FTP,但如果我这样做,这将长期以来的bug。


编辑#1:

为了在我的环境中正常工作,我已经开始使用NuGet包SharpCifs.Std ,它在Windows和Linux上都是完全稳定的。 这不是这个问题的“理想”解决scheme,但运行良好。 如果我遇到一个非基于包的解决scheme,我会再次编辑这个post。