diff --git a/src/ExtendedXmlSerializer/ReflectionModel/AssemblyLoader.cs b/src/ExtendedXmlSerializer/ReflectionModel/AssemblyLoader.cs index f1bf37c2..eb784c83 100644 --- a/src/ExtendedXmlSerializer/ReflectionModel/AssemblyLoader.cs +++ b/src/ExtendedXmlSerializer/ReflectionModel/AssemblyLoader.cs @@ -32,7 +32,7 @@ public Assembly Get(string parameter) { return Assembly.LoadFile(_path(parameter)); } - catch + catch (Exception error) { var length = _loaded.Length; for (var i = 0; i < length; i++) @@ -44,9 +44,7 @@ public Assembly Get(string parameter) } } -#pragma warning disable CS0618 - return Assembly.LoadWithPartialName(parameter); -#pragma warning restore CS0618 + throw new InvalidOperationException($"Could not load assembly '{parameter}'. Are you sure it exists?", error); } } } diff --git a/test/ExtendedXmlSerializer.Tests.ReportedIssues/Issue558Tests.cs b/test/ExtendedXmlSerializer.Tests.ReportedIssues/Issue558Tests.cs new file mode 100644 index 00000000..e7624062 --- /dev/null +++ b/test/ExtendedXmlSerializer.Tests.ReportedIssues/Issue558Tests.cs @@ -0,0 +1,27 @@ +using ExtendedXmlSerializer.Configuration; +using ExtendedXmlSerializer.Tests.ReportedIssues.Support; +using FluentAssertions; +using System; +using Xunit; + +namespace ExtendedXmlSerializer.Tests.ReportedIssues +{ + public sealed class Issue558Tests + { + [Fact] + public void Verify() + { + var subject = new ConfigurationContainer().Create().ForTesting(); + + const string document = + @""; + + subject.Invoking(x => x.Deserialize(document)) + .Should() + .ThrowExactly() + .WithMessage("Could not load assembly 'ExtendedXmlSerializer.Tests.ReportedIssues.DoesNotExist'. Are you sure it exists?"); + } + + sealed class Subject {} + } +} \ No newline at end of file