From f50e45f5642e14150ee9fbe7e34c9b18bc83a5ff Mon Sep 17 00:00:00 2001 From: Oleksii Zarubin Date: Tue, 14 Nov 2023 15:39:52 +0200 Subject: [PATCH] Bug #34: InvalidCastException is raised when using AssemblyRunner 1) Fix an issue by adding an AssemblyResolve to find a missing xunit libraries. --- xUnitRevitRunner/xUnitRevitRunnerShared/App.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/xUnitRevitRunner/xUnitRevitRunnerShared/App.cs b/xUnitRevitRunner/xUnitRevitRunnerShared/App.cs index 02175c2..b92436b 100644 --- a/xUnitRevitRunner/xUnitRevitRunnerShared/App.cs +++ b/xUnitRevitRunner/xUnitRevitRunnerShared/App.cs @@ -30,6 +30,17 @@ namespace xUnitRevit xUnitRevitButton.SetContextualHelp(new ContextualHelp(ContextualHelpType.Url, "https://speckle.systems")); } + AppDomain.CurrentDomain.AssemblyResolve += delegate (object sender, ResolveEventArgs e) + { + String currentFolder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + AssemblyName requestedName = new AssemblyName(e.Name); + if (requestedName.Name == "xunit.abstractions" || requestedName.Name == "xunit.runner.utility.net452") + { + var resolvedAssembly = Assembly.LoadFrom(Path.Combine(currentFolder, requestedName.Name + ".dll")); + return resolvedAssembly; + } + return null; + }; return Result.Succeeded; }