10 types derived from AssemblyLoadContext
Microsoft.CodeAnalysis (1)
DiagnosticAnalyzer\AnalyzerAssemblyLoader.Core.cs (1)
123internal sealed class DirectoryLoadContext : AssemblyLoadContext
Microsoft.CodeAnalysis.LanguageServer (1)
Services\ExtensionAssemblyManager.cs (1)
199private sealed class ExtensionAssemblyLoadContext : AssemblyLoadContext
Microsoft.CodeAnalysis.Scripting (1)
Hosting\AssemblyLoader\CoreAssemblyLoaderImpl.cs (1)
43private sealed class LoadContext : AssemblyLoadContext
Microsoft.CodeAnalysis.Test.Utilities (2)
Platform\CoreClr\AssemblyLoadContextUtils.cs (1)
20public sealed class SimpleAssemblyLoadContext : AssemblyLoadContext
Platform\CoreClr\TestExecutionLoadContext.cs (1)
25internal sealed class TestExecutionLoadContext : AssemblyLoadContext
Microsoft.CodeAnalysis.Workspaces (1)
src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerAssemblyLoader.Core.cs (1)
123internal sealed class DirectoryLoadContext : AssemblyLoadContext
System.Private.CoreLib (3)
src\libraries\System.Private.CoreLib\src\Internal\Runtime\InteropServices\IsolatedComponentLoadContext.cs (1)
22internal sealed class IsolatedComponentLoadContext : AssemblyLoadContext
src\libraries\System.Private.CoreLib\src\System\Runtime\Loader\AssemblyLoadContext.cs (2)
808internal sealed class DefaultAssemblyLoadContext : AssemblyLoadContext 817internal sealed class IndividualAssemblyLoadContext : AssemblyLoadContext
xunit.console (1)
common\AssemblyResolution\AssemblyHelper.cs (1)
16class AssemblyHelper : AssemblyLoadContext, IDisposable
3 instantiations of AssemblyLoadContext
Microsoft.CodeAnalysis.UnitTests (2)
AnalyzerAssemblyLoaderTests.cs (1)
113var alc = new AssemblyLoadContext($"Test {memberName}", isCollectible: true);
CompilerAnalyzerAssemblyResolverTests.cs (1)
17var context = new AssemblyLoadContext(nameof(ExceptionReturnsNull), isCollectible: true);
System.Windows.Forms.Design.Tests (1)
System\Resources\Tools\CodeDomCompileHelper.cs (1)
63AssemblyLoadContext context = new(name: null, isCollectible: true);
197 references to AssemblyLoadContext
dotnet-svcutil-lib (1)
Shared\ProjectPropertyResolver.cs (1)
182var assembly = AssemblyLoadContext.Default.LoadFromAssemblyPath(assemblyPath);
illink (1)
Microsoft.AspNetCore.Components.WebAssembly (2)
Services\LazyAssemblyLoader.cs (2)
85allAssemblies = AssemblyLoadContext.Default.Assemblies.ToList(); 89var assembly = AssemblyLoadContext.Default.Assemblies.FirstOrDefault(a => a.GetName().Name == assemblyName);
Microsoft.AspNetCore.Http.Extensions.Tests (1)
RequestDelegateGenerator\RequestDelegateCreationTestBase.cs (1)
157var assembly = AssemblyLoadContext.Default.LoadFromStream(output, pdb);
Microsoft.AspNetCore.Http.Microbenchmarks (1)
src\Http\Http.Extensions\test\RequestDelegateGenerator\RequestDelegateCreationTestBase.cs (1)
157var assembly = AssemblyLoadContext.Default.LoadFromStream(output, pdb);
Microsoft.AspNetCore.Mvc.Core (5)
ApplicationParts\RelatedAssemblyAttribute.cs (5)
43var loadContext = AssemblyLoadContext.GetLoadContext(assembly) ?? AssemblyLoadContext.Default; 119private readonly AssemblyLoadContext _loadContext; 121public AssemblyLoadContextWrapper(AssemblyLoadContext loadContext)
Microsoft.AspNetCore.Mvc.Core.Test (1)
ApplicationParts\RelatedAssemblyPartTest.cs (1)
102public TestableAssemblyLoadContextWrapper() : base(AssemblyLoadContext.Default)
Microsoft.Build.CommandLine.UnitTests (2)
ValidateAssemblyLoadContext.cs (2)
19var thisLoadContext = AssemblyLoadContext.GetLoadContext(typeof(ValidateAssemblyLoadContext).Assembly);
Microsoft.CodeAnalysis (13)
DiagnosticAnalyzer\AnalyzerAssemblyLoader.Core.cs (11)
41private readonly AssemblyLoadContext _compilerLoadContext; 45internal AssemblyLoadContext CompilerLoadContext => _compilerLoadContext; 53internal AnalyzerAssemblyLoader(AssemblyLoadContext? compilerLoadContext, AnalyzerLoadOption loadOption, ImmutableArray<IAnalyzerAssemblyResolver> externalResolvers) 56_compilerLoadContext = compilerLoadContext ?? AssemblyLoadContext.GetLoadContext(typeof(AnalyzerAssemblyLoader).GetTypeInfo().Assembly)!; 64var alc = AssemblyLoadContext.GetLoadContext(assembly); 65return alc == _compilerLoadContext || alc == AssemblyLoadContext.Default; 213/// A resolver which allows a passed in <see cref="AssemblyLoadContext"/> from the compiler 224/// <param name="compilerContext">The <see cref="AssemblyLoadContext"/> that the core 226internal sealed class CompilerAnalyzerAssemblyResolver(AssemblyLoadContext compilerContext) : IAnalyzerAssemblyResolver 228private readonly AssemblyLoadContext _compilerAlc = compilerContext;
DiagnosticAnalyzer\DefaultAnalyzerAssemblyLoader.cs (1)
31internal DefaultAnalyzerAssemblyLoader(System.Runtime.Loader.AssemblyLoadContext? compilerLoadContext = null, AnalyzerLoadOption loadOption = AnalyzerLoadOption.LoadFromDisk, ImmutableArray<IAnalyzerAssemblyResolver>? externalResolvers = null)
DiagnosticAnalyzer\ShadowCopyAnalyzerAssemblyLoader.cs (1)
52public ShadowCopyAnalyzerAssemblyLoader(AssemblyLoadContext? compilerLoadContext, string baseDirectory, ImmutableArray<IAnalyzerAssemblyResolver>? externalResolvers = null)
Microsoft.CodeAnalysis.Features (1)
SemanticSearch\AbstractSemanticSearchService.cs (1)
42private readonly AssemblyLoadContext _current = GetLoadContext(typeof(LoadContext).Assembly)!;
Microsoft.CodeAnalysis.LanguageServer (14)
CustomExportAssemblyLoader.cs (1)
49return AssemblyLoadContext.Default.LoadFromAssemblyName(assemblyName);
Services\ExtensionAssemblyManager.cs (13)
33private readonly ImmutableDictionary<string, AssemblyLoadContext> _directoryLoadContexts; 35private readonly ImmutableDictionary<string, AssemblyLoadContext> _assemblyFullNameToLoadContext; 39public ExtensionAssemblyManager(ImmutableDictionary<string, AssemblyLoadContext> directoryLoadContexts, 40ImmutableDictionary<string, AssemblyLoadContext> assemblyFullNameToLoadContext, 57var directoryLoadContexts = new Dictionary<string, AssemblyLoadContext>(StringComparer.Ordinal); 58var assemblyFullNameToLoadContext = new Dictionary<string, AssemblyLoadContext>(StringComparer.Ordinal); 101if (assemblyFullNameToLoadContext.TryGetValue(assemblyFullName, out var existingContext)) 114if (!directoryLoadContexts.TryGetValue(directory, out var directoryContext)) 123AssemblyLoadContext GetOrCreateDirectoryContext(string directory, string assemblyFilePath) 125if (directoryLoadContexts.TryGetValue(directory, out var directoryContext)) 145AssemblyLoadContext.Default.Resolving += (context, assemblyName) => 171if (_directoryLoadContexts.TryGetValue(directory, out var loadContext)) 186if (_assemblyFullNameToLoadContext.TryGetValue(assemblyFullName, out var loadContext))
Microsoft.CodeAnalysis.LanguageServer.UnitTests (2)
TelemetryReporterTests.cs (2)
42Assert.Contains(AssemblyLoadContext.Default.Assemblies, a => a == assembly); 43Assert.Contains(AssemblyLoadContext.Default.Assemblies, a => a.GetName().Name == "Microsoft.VisualStudio.Telemetry");
Microsoft.CodeAnalysis.Remote.ServiceHub.UnitTests (12)
RemoteAnalyzerAssemblyLoaderTests.cs (12)
34var alc1 = AssemblyLoadContext.GetLoadContext(remoteAssemblyInCurrentAlc); 35var alc2 = AssemblyLoadContext.GetLoadContext(remoteAssemblyLoadedViaRemoteLoader); 53var alc1 = AssemblyLoadContext.GetLoadContext(featuresAssemblyInCurrentAlc); 54var alc2 = AssemblyLoadContext.GetLoadContext(featuresAssemblyLoadedViaRemoteLoader); 69var alc1 = AssemblyLoadContext.GetLoadContext(compilerAssemblyInCurrentAlc); 70var alc2 = AssemblyLoadContext.GetLoadContext(compilerAssemblyLoadedViaRemoteLoader);
Microsoft.CodeAnalysis.UnitTests (7)
AnalyzerAssemblyLoaderTests.cs (3)
108Action<AssemblyLoadContext, AssemblyLoadTestFixture> prepLoadContextAction, 113var alc = new AssemblyLoadContext($"Test {memberName}", isCollectible: true); 1478static (AssemblyLoadContext compilerContext, AssemblyLoadTestFixture testFixture) =>
CompilerAnalyzerAssemblyResolverTests.cs (1)
17var context = new AssemblyLoadContext(nameof(ExceptionReturnsNull), isCollectible: true);
InvokeUtil.cs (3)
38internal void Exec(ITestOutputHelper testOutputHelper, AssemblyLoadContext compilerContext, AssemblyLoadTestFixture fixture, AnalyzerTestKind kind, string typeName, string methodName, IAnalyzerAssemblyResolver[] externalResolvers) 45var defaultContextCount = AssemblyLoadContext.Default.Assemblies.Count(); 85Assert.Equal(defaultContextCount, AssemblyLoadContext.Default.Assemblies.Count());
Microsoft.CodeAnalysis.Workspaces (13)
src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerAssemblyLoader.Core.cs (11)
41private readonly AssemblyLoadContext _compilerLoadContext; 45internal AssemblyLoadContext CompilerLoadContext => _compilerLoadContext; 53internal AnalyzerAssemblyLoader(AssemblyLoadContext? compilerLoadContext, AnalyzerLoadOption loadOption, ImmutableArray<IAnalyzerAssemblyResolver> externalResolvers) 56_compilerLoadContext = compilerLoadContext ?? AssemblyLoadContext.GetLoadContext(typeof(AnalyzerAssemblyLoader).GetTypeInfo().Assembly)!; 64var alc = AssemblyLoadContext.GetLoadContext(assembly); 65return alc == _compilerLoadContext || alc == AssemblyLoadContext.Default; 213/// A resolver which allows a passed in <see cref="AssemblyLoadContext"/> from the compiler 224/// <param name="compilerContext">The <see cref="AssemblyLoadContext"/> that the core 226internal sealed class CompilerAnalyzerAssemblyResolver(AssemblyLoadContext compilerContext) : IAnalyzerAssemblyResolver 228private readonly AssemblyLoadContext _compilerAlc = compilerContext;
src\Compilers\Core\Portable\DiagnosticAnalyzer\DefaultAnalyzerAssemblyLoader.cs (1)
31internal DefaultAnalyzerAssemblyLoader(System.Runtime.Loader.AssemblyLoadContext? compilerLoadContext = null, AnalyzerLoadOption loadOption = AnalyzerLoadOption.LoadFromDisk, ImmutableArray<IAnalyzerAssemblyResolver>? externalResolvers = null)
src\Compilers\Core\Portable\DiagnosticAnalyzer\ShadowCopyAnalyzerAssemblyLoader.cs (1)
52public ShadowCopyAnalyzerAssemblyLoader(AssemblyLoadContext? compilerLoadContext, string baseDirectory, ImmutableArray<IAnalyzerAssemblyResolver>? externalResolvers = null)
System.Private.CoreLib (94)
src\libraries\System.Private.CoreLib\src\Internal\Runtime\InteropServices\ComponentActivator.cs (6)
87AssemblyLoadContext alc = GetIsolatedComponentLoadContext(assemblyPath); 153AssemblyLoadContext.Default.Resolving += 162AssemblyLoadContext.Default.LoadFromAssemblyPath(assemblyPath); 214static void LoadAssemblyBytesLocal(ReadOnlySpan<byte> assemblyBytes, ReadOnlySpan<byte> symbolsBytes) => AssemblyLoadContext.Default.InternalLoad(assemblyBytes, symbolsBytes); 270*(IntPtr*)functionHandle = InternalGetFunctionPointer(AssemblyLoadContext.Default, typeName, methodName, delegateTypeNative); 304private static IntPtr InternalGetFunctionPointer(AssemblyLoadContext alc,
src\libraries\System.Private.CoreLib\src\System\Activator.RuntimeType.cs (1)
125assembly = RuntimeAssembly.InternalLoad(assemblyName, ref stackMark, AssemblyLoadContext.CurrentContextualReflectionContext);
src\libraries\System.Private.CoreLib\src\System\AppContext.cs (1)
87AssemblyLoadContext.OnProcessExit();
src\libraries\System.Private.CoreLib\src\System\AppDomain.cs (9)
243public Assembly[] GetAssemblies() => AssemblyLoadContext.GetLoadedAssemblies(); 247add { AssemblyLoadContext.AssemblyLoad += value; } 248remove { AssemblyLoadContext.AssemblyLoad -= value; } 253add { AssemblyLoadContext.AssemblyResolve += value; } 254remove { AssemblyLoadContext.AssemblyResolve -= value; } 261add { AssemblyLoadContext.TypeResolve += value; } 262remove { AssemblyLoadContext.TypeResolve -= value; } 267add { AssemblyLoadContext.ResourceResolve += value; } 268remove { AssemblyLoadContext.ResourceResolve -= value; }
src\libraries\System.Private.CoreLib\src\System\Reflection\Assembly.cs (10)
267AssemblyLoadContext alc = new IndividualAssemblyLoadContext("Assembly.Load(byte[], ...)"); 295AssemblyLoadContext alc = new IndividualAssemblyLoadContext($"Assembly.LoadFile({normalizedPath})"); 315if (AssemblyLoadContext.Default != AssemblyLoadContext.GetLoadContext(requestingAssembly)) 332if (AssemblyLoadContext.IsTracingEnabled()) 334AssemblyLoadContext.TraceAssemblyLoadFromResolveHandlerInvoked(args.Name, false, requestorPath, null); 347if (AssemblyLoadContext.IsTracingEnabled()) 349AssemblyLoadContext.TraceAssemblyLoadFromResolveHandlerInvoked(args.Name, true, requestorPath, requestedAssemblyPath); 387AssemblyLoadContext.AssemblyResolve += LoadFromResolveHandler!; 403return AssemblyLoadContext.Default.LoadFromAssemblyPath(fullPath);
src\libraries\System.Private.CoreLib\src\System\Reflection\Emit\DynamicMethod.cs (1)
200AssemblyBuilderAccess.Run, AssemblyLoadContext.Default, null);
src\libraries\System.Private.CoreLib\src\System\Runtime\Loader\AssemblyLoadContext.cs (38)
33private static Dictionary<long, WeakReference<AssemblyLoadContext>>? s_allContexts; 37private static Dictionary<long, WeakReference<AssemblyLoadContext>> AllContexts => 39Interlocked.CompareExchange(ref s_allContexts, new Dictionary<long, WeakReference<AssemblyLoadContext>>(), null) ?? 56private event Func<AssemblyLoadContext, AssemblyName, Assembly>? _resolving; 58private event Action<AssemblyLoadContext>? _unloading; 106Dictionary<long, WeakReference<AssemblyLoadContext>> allContexts = AllContexts; 110allContexts.Add(_id, new WeakReference<AssemblyLoadContext>(this, true)); 159Dictionary<long, WeakReference<AssemblyLoadContext>> allContexts = AllContexts; 173AssemblyLoadContext? alc = GetLoadContext(a); 210public event Func<AssemblyLoadContext, AssemblyName, Assembly?>? Resolving 225public event Action<AssemblyLoadContext>? Unloading 264public static AssemblyLoadContext Default => DefaultAssemblyLoadContext.s_loadContext; 272public static IEnumerable<AssemblyLoadContext> All 278Dictionary<long, WeakReference<AssemblyLoadContext>>? allContexts = s_allContexts; 281WeakReference<AssemblyLoadContext>[] alcSnapshot; 285alcSnapshot = new WeakReference<AssemblyLoadContext>[allContexts.Count]; 287foreach (KeyValuePair<long, WeakReference<AssemblyLoadContext>> item in allContexts) 293foreach (WeakReference<AssemblyLoadContext> weakAlc in alcSnapshot) 295if (weakAlc.TryGetTarget(out AssemblyLoadContext? alc)) 472Dictionary<long, WeakReference<AssemblyLoadContext>>? allContexts = s_allContexts; 481foreach (KeyValuePair<long, WeakReference<AssemblyLoadContext>> alcAlive in allContexts) 483if (alcAlive.Value.TryGetTarget(out AssemblyLoadContext? alc)) 499private static AsyncLocal<AssemblyLoadContext?>? s_asyncLocalCurrent; 519/// <see cref="AssemblyLoadContext.EnterContextualReflection"/>. 525public static AssemblyLoadContext? CurrentContextualReflectionContext => s_asyncLocalCurrent?.Value; 527private static void SetCurrentContextualReflectionContext(AssemblyLoadContext? value) 531Interlocked.CompareExchange<AsyncLocal<AssemblyLoadContext?>?>(ref s_asyncLocalCurrent, new AsyncLocal<AssemblyLoadContext?>(), null); 565AssemblyLoadContext assemblyLoadContext = GetLoadContext(activating) ?? 576/// <see cref="AssemblyLoadContext.EnterContextualReflection"/> 581private readonly AssemblyLoadContext? _activated; 582private readonly AssemblyLoadContext? _predecessor; 585internal ContextualReflectionScope(AssemblyLoadContext? activating) 609AssemblyLoadContext context = (AssemblyLoadContext)(GCHandle.FromIntPtr(gchManagedAssemblyLoadContext).Target)!; 619foreach (Func<AssemblyLoadContext, AssemblyName, Assembly> handler in Delegate.EnumerateInvocationList(_resolving)) 760AssemblyLoadContext parentALC = GetLoadContext(parentAssembly)!; 810internal static readonly AssemblyLoadContext s_loadContext = new DefaultAssemblyLoadContext();
src\libraries\System.Private.CoreLib\src\System\Runtime\ProfileOptimization.cs (2)
12AssemblyLoadContext.Default.SetProfileOptimizationRoot(directoryPath); 17AssemblyLoadContext.Default.StartProfileOptimization(profile);
src\libraries\System.Private.CoreLib\src\System\StartupHookProvider.cs (2)
148assembly = AssemblyLoadContext.Default.LoadFromAssemblyPath(startupHook.Path); 153assembly = AssemblyLoadContext.Default.LoadFromAssemblyName(startupHook.AssemblyName);
src\System\Reflection\Assembly.CoreCLR.cs (3)
22return RuntimeAssembly.InternalLoad(assemblyString, ref stackMark, AssemblyLoadContext.CurrentContextualReflectionContext); 37return RuntimeAssembly.InternalLoad(partialName, ref stackMark, AssemblyLoadContext.CurrentContextualReflectionContext); 53return RuntimeAssembly.InternalLoad(assemblyRef, ref stackMark, AssemblyLoadContext.CurrentContextualReflectionContext);
src\System\Reflection\Emit\RuntimeAssemblyBuilder.cs (6)
57AssemblyLoadContext assemblyLoadContext = 58(AssemblyLoadContext.CurrentContextualReflectionContext ?? AssemblyLoadContext.GetLoadContext(callingAssembly)) ?? 86AssemblyLoadContext assemblyLoadContext, 122private static unsafe RuntimeAssembly CreateDynamicAssembly(AssemblyLoadContext assemblyLoadContext, AssemblyName name, AssemblyBuilderAccess access) 160AssemblyLoadContext assemblyLoadContext,
src\System\Reflection\RuntimeAssembly.cs (2)
357internal static RuntimeAssembly InternalLoad(string assemblyName, ref StackCrawlMark stackMark, AssemblyLoadContext? assemblyLoadContext = null) 362AssemblyLoadContext? assemblyLoadContext = null,
src\System\Reflection\TypeNameResolver.CoreCLR.cs (2)
178_suppressContextualReflectionContext ? null : AssemblyLoadContext.CurrentContextualReflectionContext, 298RuntimeAssembly? resolvedAssembly = AssemblyLoadContext.OnTypeResolve(requestingAssembly, parsedName.FullName);
src\System\Runtime\Loader\AssemblyLoadContext.CoreCLR.cs (11)
115AssemblyLoadContext context = (AssemblyLoadContext)(GCHandle.FromIntPtr(gchManagedAssemblyLoadContext).Target)!; 125AssemblyLoadContext context = (AssemblyLoadContext)(GCHandle.FromIntPtr(gchManagedAssemblyLoadContext).Target)!; 133AssemblyLoadContext context = (AssemblyLoadContext)(GCHandle.FromIntPtr(gchManagedAssemblyLoadContext).Target)!; 141AssemblyLoadContext context = (AssemblyLoadContext)(GCHandle.FromIntPtr(gchManagedAssemblyLoadContext).Target)!; 150public static AssemblyLoadContext? GetLoadContext(Assembly assembly) 157AssemblyLoadContext? loadContextForAssembly = null; 170loadContextForAssembly = (AssemblyLoadContext)(GCHandle.FromIntPtr(ptrAssemblyLoadContext).Target)!;
System.Private.DataContractSerialization (4)
System\Runtime\Serialization\ContextAware.cs (4)
32AssemblyLoadContext? alc = AssemblyLoadContext.GetLoadContext(dataContract.UnderlyingType.Assembly); 71AssemblyLoadContext? alc = AssemblyLoadContext.GetLoadContext(t.Assembly);
System.Private.Xml (13)
System\Xml\Serialization\Compilation.cs (9)
143using (AssemblyLoadContext.EnterContextualReflection(type.Assembly)) 446using (AssemblyLoadContext.EnterContextualReflection(mainAssembly)) 594var typeALC = AssemblyLoadContext.GetLoadContext(t.Assembly); 599var baseALC = AssemblyLoadContext.GetLoadContext(assembly) ?? AssemblyLoadContext.CurrentContextualReflectionContext; 718AssemblyLoadContext? alc = AssemblyLoadContext.GetLoadContext(t.Assembly);
System\Xml\Serialization\ContextAwareTables.cs (2)
35AssemblyLoadContext? alc = AssemblyLoadContext.GetLoadContext(t.Assembly);
System\Xml\Serialization\XmlSerializer.cs (2)
677AssemblyLoadContext? alc = AssemblyLoadContext.GetLoadContext(type.Assembly);
System.Reflection.DispatchProxy (5)
System\Reflection\DispatchProxyGenerator.cs (5)
50private static readonly ConditionalWeakTable<AssemblyLoadContext, ProxyAssembly> s_alcProxyAssemblyMap = new(); 71AssemblyLoadContext? alc = AssemblyLoadContext.GetLoadContext(baseType.Assembly); 119public ProxyAssembly(AssemblyLoadContext alc) 122if (alc == AssemblyLoadContext.Default)
System.Runtime.Loader (1)
artifacts\obj\System.Runtime.Loader\Debug\net10.0\System.Runtime.Loader.Forwards.cs (1)
9[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Runtime.Loader.AssemblyLoadContext))]
System.Windows.Forms.Design.Tests (2)
System\Drawing\Design\ToolboxItemTests.cs (1)
1224AssemblyLoadContext.Default.Resolving += (context, name) =>
System\Resources\Tools\CodeDomCompileHelper.cs (1)
63AssemblyLoadContext context = new(name: null, isCollectible: true);
TestDiscoveryWorker (1)
Program.cs (1)
46System.Runtime.Loader.AssemblyLoadContext.Default.Resolving += (context, assemblyName) =>
xunit.console (1)
common\AssemblyResolution\AssemblyHelper.cs (1)
85Assembly OnResolving(AssemblyLoadContext context, AssemblyName name)