blob: e346f5f6b1cd2039ca8bb9aa1a11802b4e65ca38 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
using System.Collections.Generic;
using System.Reflection;
using Internal.Metadata.NativeFormat;
using System.Reflection.Runtime.General;
using System.Runtime.InteropServices;
namespace Internal.Reflection.Core
{
// Auto StructLayout used to suppress warning that order of fields is not guaranteed in partial structs
[StructLayout(LayoutKind.Auto)]
public partial struct AssemblyBindResult
{
public MetadataReader Reader;
public ScopeDefinitionHandle ScopeDefinitionHandle;
public IEnumerable<QScopeDefinition> OverflowScopes;
}
//
// Implements the assembly binding policy Reflection domain. This gets called any time the domain needs
// to resolve an assembly name.
//
// If the binder cannot locate an assembly, it must return null and set "exception" to an exception object.
//
public abstract class AssemblyBinder
{
public const String DefaultAssemblyNameForGetType = "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
public abstract bool Bind(RuntimeAssemblyName refName, bool cacheMissedLookups, out AssemblyBindResult result, out Exception exception);
public abstract bool Bind(byte[] rawAssembly, byte[] rawSymbolStore, out AssemblyBindResult result, out Exception exception);
public abstract IList<AssemblyBindResult> GetLoadedAssemblies();
}
}
|