diff --git a/src/GitVersionTask.MsBuild/LibGit2Sharp/GitLoaderContext.cs b/src/GitVersionTask.MsBuild/LibGit2Sharp/GitLoaderContext.cs index 235c2624eb..4d061d1b21 100644 --- a/src/GitVersionTask.MsBuild/LibGit2Sharp/GitLoaderContext.cs +++ b/src/GitVersionTask.MsBuild/LibGit2Sharp/GitLoaderContext.cs @@ -19,12 +19,21 @@ public sealed class GitLoaderContext : AssemblyLoadContext protected override Assembly Load(AssemblyName assemblyName) { - if (assemblyName.Name == entryPointAssembly.GetName().Name) + string simpleName = assemblyName.Name; + + if (simpleName == entryPointAssembly.GetName().Name) { return entryPointAssembly; } - var path = Path.Combine(Path.GetDirectoryName(typeof(GitLoaderContext).Assembly.Location), assemblyName.Name + ".dll"); + if (simpleName == "Microsoft.Build.Framework") + { + // Delegate loading MSBuild types up to an ALC that should already have them + // once we've gotten this far + return null; + } + + var path = Path.Combine(Path.GetDirectoryName(typeof(GitLoaderContext).Assembly.Location), simpleName + ".dll"); if (File.Exists(path)) {