diff --git a/src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.cs b/src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.cs
index 0b9b50e771..6ef8a98fae 100644
--- a/src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.cs
+++ b/src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.cs
@@ -46,7 +46,9 @@ namespace Avalonia.Build.Tasks
string output, bool verifyIl, MessageImportance logImportance, string strongNameKey, bool patchCom,
bool skipXamlCompilation)
{
- var typeSystem = new CecilTypeSystem(references.Concat(new[] { input }), input);
+ var typeSystem = new CecilTypeSystem(references
+ .Where(r => !r.ToLowerInvariant().EndsWith("avalonia.build.tasks.dll"))
+ .Concat(new[] { input }), input);
var asm = typeSystem.TargetAssemblyDefinition;
diff --git a/src/Markup/Avalonia.Markup.Xaml.Loader/Avalonia.Markup.Xaml.Loader.csproj b/src/Markup/Avalonia.Markup.Xaml.Loader/Avalonia.Markup.Xaml.Loader.csproj
index 514556d0b9..db9c414840 100644
--- a/src/Markup/Avalonia.Markup.Xaml.Loader/Avalonia.Markup.Xaml.Loader.csproj
+++ b/src/Markup/Avalonia.Markup.Xaml.Loader/Avalonia.Markup.Xaml.Loader.csproj
@@ -4,6 +4,7 @@
netstandard2.0
true
Avalonia.Markup.Xaml.Loader
+ $(DefineConstants);XAMLX_INTERNAL
diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/CompiledBindingExtensionTests.cs b/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/CompiledBindingExtensionTests.cs
index 50dfa2c7b0..1cf9e0877d 100644
--- a/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/CompiledBindingExtensionTests.cs
+++ b/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/CompiledBindingExtensionTests.cs
@@ -374,7 +374,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions
";
- Assert.Throws(() => AvaloniaRuntimeXamlLoader.Load(xaml));
+ ThrowsXamlTransformException(() => AvaloniaRuntimeXamlLoader.Load(xaml));
}
}
@@ -392,7 +392,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions
";
- Assert.Throws(() => AvaloniaRuntimeXamlLoader.Load(xaml));
+ ThrowsXamlTransformException(() => AvaloniaRuntimeXamlLoader.Load(xaml));
}
}
@@ -449,7 +449,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions
";
- Assert.Throws(() => AvaloniaRuntimeXamlLoader.Load(xaml));
+ ThrowsXamlTransformException(() => AvaloniaRuntimeXamlLoader.Load(xaml));
}
}
@@ -599,7 +599,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions
x:CompileBindings='true'>
";
- Assert.Throws(() => AvaloniaRuntimeXamlLoader.Load(xaml));
+ ThrowsXamlParseException(() => AvaloniaRuntimeXamlLoader.Load(xaml));
}
}
@@ -657,7 +657,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions
x:DataType='local:TestDataContext'
x:CompileBindings='notabool'>
";
- Assert.Throws(() => AvaloniaRuntimeXamlLoader.Load(xaml));
+ ThrowsXamlParseException(() => AvaloniaRuntimeXamlLoader.Load(xaml));
}
}
@@ -818,8 +818,25 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions
Assert.Equal(null, contentControl.Content);
}
}
- }
+ void Throws(string type, Action cb)
+ {
+ try
+ {
+ cb();
+ }
+ catch (Exception e) when (e.GetType().Name == type)
+ {
+ return;
+ }
+
+ throw new Exception("Expected " + type);
+ }
+
+ void ThrowsXamlParseException(Action cb) => Throws("XamlParseException", cb);
+ void ThrowsXamlTransformException(Action cb) => Throws("XamlTransformException", cb);
+ }
+
public interface INonIntegerIndexer
{
string this[string key] { get; set; }