Browse Source

Merge pull request #1322 from mterwoord/add-uri-to-error-when-loading

Add the uri to the error message of the xaml loader
pull/1323/merge
Jeremy Koritzinsky 8 years ago
committed by GitHub
parent
commit
19770a2eec
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj
  2. 14
      src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoaderPortableXaml.cs
  3. 24
      src/Markup/Avalonia.Markup.Xaml/XamlLoadException.cs

1
src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj

@ -91,6 +91,7 @@
<Compile Include="Templates\TemplateContent.cs" />
<Compile Include="Templates\TemplateLoader.cs" />
<Compile Include="Templates\TreeDataTemplate.cs" />
<Compile Include="XamlLoadException.cs" />
<Compile Include="PortableXaml\portable.xaml.github\src\Portable.Xaml\**\*.cs" Exclude="PortableXaml\portable.xaml.github\src\Portable.Xaml\Assembly\**\*.cs" />
<Compile Remove="**\UriTypeConverter.cs" />
</ItemGroup>

14
src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoaderPortableXaml.cs

@ -127,7 +127,19 @@ namespace Avalonia.Markup.Xaml
using (var stream = assetLocator.Open(uri, baseUri))
{
return Load(stream, rootInstance, uri);
try
{
return Load(stream, rootInstance, uri);
}
catch (Exception e)
{
var uriString = uri.ToString();
if (!uri.IsAbsoluteUri)
{
uriString = new Uri(baseUri, uri).AbsoluteUri;
}
throw new XamlLoadException("Error loading xaml at " + uriString, e);
}
}
}

24
src/Markup/Avalonia.Markup.Xaml/XamlLoadException.cs

@ -0,0 +1,24 @@
using System;
using System.Runtime.Serialization;
namespace Avalonia.Markup.Xaml
{
public class XamlLoadException: Exception
{
public XamlLoadException()
{
}
protected XamlLoadException(SerializationInfo info, StreamingContext context): base(info, context)
{
}
public XamlLoadException(string message): base(message)
{
}
public XamlLoadException(string message, Exception innerException): base(message, innerException)
{
}
}
}
Loading…
Cancel
Save