From ac177112b3808bef9299423568043b75056bc5f5 Mon Sep 17 00:00:00 2001 From: Jason Malinowski Date: Wed, 5 May 2021 13:42:49 -0700 Subject: [PATCH] Only subscribe to AppDomain.AssemblyResolve once This is a port of https://github.com/dotnet/roslyn/pull/53166. There's a bigger question here about how to reuse this code better, but this caused a bunch of confusion while debugging an issue. --- src/OmniSharp.Host/Services/AnalyzerAssemblyLoader.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/OmniSharp.Host/Services/AnalyzerAssemblyLoader.cs b/src/OmniSharp.Host/Services/AnalyzerAssemblyLoader.cs index 191de3dc5d..2cdacc5f10 100644 --- a/src/OmniSharp.Host/Services/AnalyzerAssemblyLoader.cs +++ b/src/OmniSharp.Host/Services/AnalyzerAssemblyLoader.cs @@ -231,7 +231,7 @@ private Assembly LoadFromPathImpl(string originalPath) string assemblyDirectory = CreateUniqueDirectoryForAssembly(); string shadowCopyPath = CopyFileAndResources(originalPath, assemblyDirectory); - if (Interlocked.CompareExchange(ref _hookedAssemblyResolve, 0, 1) == 0) + if (Interlocked.CompareExchange(ref _hookedAssemblyResolve, value: 1, comparand: 0) == 0) { AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve; }