diff --git a/global.json b/global.json index ee8f712f9..66a8a8b20 100644 --- a/global.json +++ b/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "5.0.100" + "version": "5.0.202" } } diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 4921af4e5..0757e8d22 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -4,7 +4,7 @@ $(MSBuildThisFileDirectory)..\obj\$(MSBuildProjectName)\ $(MSBuildThisFileDirectory)..\bin\$(MSBuildProjectName)\$(Configuration)\ $(MSBuildThisFileDirectory)..\wiki\api - 8.0 + 9.0 true $(MSBuildThisFileDirectory)strongname.snk diff --git a/src/Nerdbank.GitVersioning.Tasks/AssemblyLoader.cs b/src/Nerdbank.GitVersioning.Tasks/AssemblyLoader.cs new file mode 100644 index 000000000..55da8b8b9 --- /dev/null +++ b/src/Nerdbank.GitVersioning.Tasks/AssemblyLoader.cs @@ -0,0 +1,48 @@ +#if NETFRAMEWORK + +using System; +using System.IO; +using System.Reflection; +using System.Runtime.CompilerServices; + +namespace System.Runtime.CompilerServices +{ + [AttributeUsage(AttributeTargets.Method, AllowMultiple = false)] + public sealed class ModuleInitializerAttribute : Attribute { } +} + +namespace Nerdbank.GitVersioning.Tasks +{ + internal static class AssemblyLoader + { + [ModuleInitializer] + internal static void LoaderInitializer() + { + AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve; + } + + private static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) + { + try + { + var required = new AssemblyName(args.Name); + string path = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), required.Name + ".dll"); + if (File.Exists(path)) + { + AssemblyName actual = AssemblyName.GetAssemblyName(path); + if (actual.Version >= required.Version) + { + return Assembly.LoadFile(path); + } + } + } + catch + { + } + + return null; + } + } +} + +#endif diff --git a/src/Nerdbank.GitVersioning.Tasks/Nerdbank.GitVersioning.nuspec b/src/Nerdbank.GitVersioning.Tasks/Nerdbank.GitVersioning.nuspec index b260a2102..31e88c702 100644 --- a/src/Nerdbank.GitVersioning.Tasks/Nerdbank.GitVersioning.nuspec +++ b/src/Nerdbank.GitVersioning.Tasks/Nerdbank.GitVersioning.nuspec @@ -27,6 +27,10 @@ IMPORTANT: The 3.x release may produce a different version height than prior maj + + + +