使用mono时出现奇怪的UriFormatException

时间:2016-11-17 21:05:02

标签: c# ubuntu mono screen xmlreader

我目前正在开发一个必须在单声道上运行的项目。 通常情况下,一切正常。但是当我尝试在我的ubuntu 14.04服务器上的一个单独的屏幕上运行它时,它会在崩溃一次后无法启动。发生的错误如下:

System.UriFormatException: Invalid URI: The URI scheme is not valid.
  at System.Uri.Parse (UriKind kind, System.String uriString) <0x40141e70 + 0x000b3> in <filename unknown>:0
  at System.Uri.ParseUri (UriKind kind) <0x40141d50 + 0x00023> in <filename unknown>:0
  at System.Uri..ctor (System.String uriString, Boolean dontEscape) <0x401459e0 + 0x001b7> in <filename unknown>:0
  at System.Uri..ctor (System.String uriString) <0x401459b0 + 0x00013> in <filename unknown>:0
  at System.Xml.XmlResolver.ResolveUri (System.Uri baseUri, System.String relativeUri) <0x401403f0 + 0x0010b> in <filename unknown>:0
  at System.Xml.XmlUrlResolver.ResolveUri (System.Uri baseUri, System.String relativeUri) <0x401403c0 + 0x00017> in <filename unknown>:0
  at System.Xml.XmlTextReaderImpl..ctor (System.String uriStr, System.Xml.XmlReaderSettings settings, System.Xml.XmlParserContext context, System.Xml.XmlResolver uriResolver) <0x4013e610 + 0x00060> in <filename unknown>:0
  at System.Xml.XmlReaderSettings.CreateReader (System.String inputUri, System.Xml.XmlParserContext inputContext) <0x4013e4a0 + 0x0008f> in <filename unknown>:0
  at System.Xml.XmlReader.Create (System.String inputUri, System.Xml.XmlReaderSettings settings, System.Xml.XmlParserContext inputContext) <0x4013e420 + 0x0005f> in <filename unknown>:0
  at System.Xml.XmlReader.Create (System.String inputUri, System.Xml.XmlReaderSettings settings) <0x4013e3c0 + 0x00013> in <filename unknown>:0
  at Project.Server.Settings..ctor () <0x4013c1f0 + 0x0006f> in <filename unknown>:0

这对我来说似乎很奇怪,因为产生错误的代码如下:

private XDocument configFile;

    public Settings()
    {
        var readerSettings = new XmlReaderSettings { CheckCharacters = false };
        using (var reader = XmlReader.Create("config.xml", readerSettings))
        {
            configFile = XDocument.Load(reader);
        }
    }

如前所述,第一次运行时一切正常。但是在它崩溃一次后,它将无法启动并因此错误而崩溃。更奇怪的是,我可以通过终止屏幕并创建一个新的并运行完全相同的命令来解决问题。

以前有人遇到过这样的事吗?这是可以预防的吗?

0 个答案:

没有答案