Freigeben über


Assembly.Load Methode

Definition

Lädt eine Assembly.

Überlädt

Name Beschreibung
Load(Byte[], Byte[], SecurityContextSource)

Lädt die Assembly mit einem gängigen Objektdateiformat (COFF)-basierten Image, das eine ausgelassene Assembly enthält, optional einschließlich Symbole und Angeben der Quelle für den Sicherheitskontext.

Load(Byte[], Byte[], Evidence)
Veraltet.

Lädt die Assembly mit einem gemeinsamen Objektdateiformat (COFF)-basierten Image, das eine ausgelassene Assembly enthält, optional einschließlich Symbole und Nachweise für die Assembly.

Load(String, Evidence)
Veraltet.

Lädt eine Assembly mit ihrem Anzeigenamen und verwendet die bereitgestellten Nachweise.

Load(AssemblyName, Evidence)
Veraltet.

Lädt eine Assembly aufgrund der zugehörigen AssemblyName. Die Assembly wird mithilfe der bereitgestellten Nachweise geladen.

Load(Byte[])

Lädt die Assembly mit einem gemeinsamen Objektdateiformat (COFF)-basierten Image, das eine ausgelassene Assembly enthält.

Load(String)

Lädt eine Assembly mit dem angegebenen Namen.

Load(AssemblyName)

Lädt eine Assembly aufgrund der zugehörigen AssemblyName.

Load(Byte[], Byte[])

Lädt die Assembly mit einem allgemeinen Objektdateiformat (COFF)-basierten Image, das eine ausgelassene Assembly enthält, optional auch Symbole für die Assembly.

Load(Byte[], Byte[], SecurityContextSource)

Lädt die Assembly mit einem gängigen Objektdateiformat (COFF)-basierten Image, das eine ausgelassene Assembly enthält, optional einschließlich Symbole und Angeben der Quelle für den Sicherheitskontext.

public:
 static System::Reflection::Assembly ^ Load(cli::array <System::Byte> ^ rawAssembly, cli::array <System::Byte> ^ rawSymbolStore, System::Security::SecurityContextSource securityContextSource);
public static System.Reflection.Assembly Load(byte[] rawAssembly, byte[] rawSymbolStore, System.Security.SecurityContextSource securityContextSource);
static member Load : byte[] * byte[] * System.Security.SecurityContextSource -> System.Reflection.Assembly
Public Shared Function Load (rawAssembly As Byte(), rawSymbolStore As Byte(), securityContextSource As SecurityContextSource) As Assembly

Parameter

rawAssembly
Byte[]

Ein Bytearray, das ein COFF-basiertes Image ist, das eine ausgegebene Assembly enthält.

rawSymbolStore
Byte[]

Ein Bytearray, das die unformatierten Bytes enthält, die die Symbole für die Assembly darstellen.

securityContextSource
SecurityContextSource

Die Quelle des Sicherheitskontexts.

Gibt zurück

Die geladene Assembly.

Ausnahmen

rawAssembly ist null.

rawAssembly ist keine gültige Assembly für die aktuell geladene Laufzeit.

Der Wert von securityContextSource ist keine der Enumerationswerte.

Hinweise

Die Assembly wird mithilfe der angegebenen Quelle für den Sicherheitskontext in die Anwendungsdomäne des Aufrufers geladen. Wenn rawSymbolStore angegeben, werden auch die unformatierten Bytes geladen, die die Symbole für die Assembly darstellen.

Gilt für:

Load(Byte[], Byte[], Evidence)

Achtung

This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

Lädt die Assembly mit einem gemeinsamen Objektdateiformat (COFF)-basierten Image, das eine ausgelassene Assembly enthält, optional einschließlich Symbole und Nachweise für die Assembly.

public:
 static System::Reflection::Assembly ^ Load(cli::array <System::Byte> ^ rawAssembly, cli::array <System::Byte> ^ rawSymbolStore, System::Security::Policy::Evidence ^ securityEvidence);
public static System.Reflection.Assembly Load(byte[] rawAssembly, byte[] rawSymbolStore, System.Security.Policy.Evidence securityEvidence);
[System.Obsolete("This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Reflection.Assembly Load(byte[] rawAssembly, byte[] rawSymbolStore, System.Security.Policy.Evidence securityEvidence);
static member Load : byte[] * byte[] * System.Security.Policy.Evidence -> System.Reflection.Assembly
[<System.Obsolete("This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
static member Load : byte[] * byte[] * System.Security.Policy.Evidence -> System.Reflection.Assembly
Public Shared Function Load (rawAssembly As Byte(), rawSymbolStore As Byte(), securityEvidence As Evidence) As Assembly

Parameter

rawAssembly
Byte[]

Ein Bytearray, das ein COFF-basiertes Image ist, das eine ausgegebene Assembly enthält.

rawSymbolStore
Byte[]

Ein Bytearray, das die unformatierten Bytes enthält, die die Symbole für die Assembly darstellen.

securityEvidence
Evidence

Nachweise zum Laden der Assembly.

Gibt zurück

Die geladene Assembly.

Attribute

Ausnahmen

rawAssembly ist null.

rawAssembly ist keine gültige Assembly für die aktuell geladene Laufzeit.

Eine Assembly oder ein Modul wurde zweimal mit zwei verschiedenen Nachweisen geladen.

securityEvidence ist nicht null. Standardmäßig ist die ältere CAS-Richtlinie in .NET Framework 4 nicht aktiviert. wenn sie nicht aktiviert ist, securityEvidence muss es sich um null.

Hinweise

Diese Methodenüberladung erstellt immer ein neues Assembly Objekt im eigenen isolierten Ladekontext.

Die Assembly wird mithilfe der bereitgestellten Nachweise geladen. Die unformatierten Bytes, die die Symbole für die Assembly darstellen, werden ebenfalls geladen.

Das Erteilen bestimmter Berechtigungen für eine Assembly beruht auf Beweisen. Die Regeln für die Zusammenführung von Assembly- und Sicherheitsnachweisen sind wie folgt:

  • Wenn Sie eine Load Methode ohne Evidence Parameter verwenden, wird die Assembly mit dem Nachweis geladen, dass das Ladeprogramm zuliefert.

  • Wenn Sie eine Load Methode mit einem Evidence Parameter verwenden, werden Nachweise zusammengeführt. Beweisstücke, die als Argument für die Load Methode angegeben wurden, überlagerten Beweisstücke, die vom Ladeprogramm bereitgestellt wurden.

  • Wenn Sie eine Load Methodenüberladung mit einem Byte[] Parameter verwenden, um ein COFF-Image zu laden, werden Nachweise von der aufrufenden Assembly geerbt.

  • Wenn Sie eine Load Methode mit einem Byte[] Parameter verwenden und Evidence ein COFF-Bild laden, werden nur die bereitgestellten Nachweise verwendet. Nachweise für die aufrufende Assembly und nachweise des COFF-Images werden ignoriert.

Wenn Sie die Load Methode mehrmals für dieselbe Assembly aufrufen, jedoch mit einem anderen angegebenen Nachweis, löst die Common Language Runtime keine FileLoadException Ausschütten aus, da die Gleichheit und Integrität der verschiedenen Nachweisspezifikationen nicht bestimmt werden kann. Der Beweis, der zuerst erfolgreich ist, ist der verwendete Beweis.

Gilt für:

Load(String, Evidence)

Achtung

This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

Lädt eine Assembly mit ihrem Anzeigenamen und verwendet die bereitgestellten Nachweise.

public:
 static System::Reflection::Assembly ^ Load(System::String ^ assemblyString, System::Security::Policy::Evidence ^ assemblySecurity);
public static System.Reflection.Assembly Load(string assemblyString, System.Security.Policy.Evidence assemblySecurity);
[System.Obsolete("This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Reflection.Assembly Load(string assemblyString, System.Security.Policy.Evidence assemblySecurity);
static member Load : string * System.Security.Policy.Evidence -> System.Reflection.Assembly
[<System.Obsolete("This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
static member Load : string * System.Security.Policy.Evidence -> System.Reflection.Assembly
Public Shared Function Load (assemblyString As String, assemblySecurity As Evidence) As Assembly

Parameter

assemblyString
String

Der Anzeigename der Assembly.

assemblySecurity
Evidence

Nachweise zum Laden der Assembly.

Gibt zurück

Die geladene Assembly.

Attribute

Ausnahmen

assemblyString ist null.

assemblyString wurde nicht gefunden.

assemblyString ist keine gültige Assembly für die aktuell geladene Laufzeit.

Eine gefundene Datei konnte nicht geladen werden.

- oder -

Eine Assembly oder ein Modul wurde zweimal mit zwei verschiedenen Nachweisen geladen.

Hinweise

FileLoadException wird ausgelöst, wenn assemblyString der vollständige Assemblyname angegeben wird und die erste Assembly, die dem einfachen Namen entspricht, ein anderes Versions-, Kultur- oder Öffentliche Schlüsseltoken aufweist. Der Ladevorgang wird nicht weiter für andere Assemblys ausgeführt, die dem einfachen Namen entsprechen.

Das Erteilen bestimmter Berechtigungen für eine Assembly beruht auf Beweisen. Die Regeln für die Zusammenführung von Assembly- und Sicherheitsnachweisen sind wie folgt:

  • Wenn Sie eine Load Methode ohne Evidence Parameter verwenden, wird die Assembly mit dem Nachweis geladen, dass das Ladeprogramm zuliefert.

  • Wenn Sie eine Load Methode mit einem Evidence Parameter verwenden, werden Nachweise zusammengeführt. Beweisstücke, die als Argument für die Load Methode angegeben wurden, überlagerten Beweisstücke, die vom Ladeprogramm bereitgestellt wurden.

  • Wenn Sie eine Load Methodenüberladung mit einem Byte[] Parameter verwenden, um ein allgemeines Objektdateiformat (COFF)-Bild zu laden, werden Nachweise von der aufrufenden Assembly geerbt.

  • Wenn Sie eine Load Methode mit einem Byte[] Parameter verwenden und Evidence ein COFF-Bild laden, werden nur die bereitgestellten Nachweise verwendet. Der Nachweis der aufrufenden Assembly und der Nachweis des COFF-Images wird ignoriert.

Wenn Sie diese Methode mehrmals für dieselbe Assembly aufrufen, jedoch mit einem anderen angegebenen Nachweis, löst die Common Language Runtime keinen Aus FileLoadException , da die Gleichheit und Integrität der verschiedenen Nachweisspezifikationen nicht bestimmt werden kann. Der Beweis, der zuerst erfolgreich ist, ist der verwendete Beweis.

In .NET Framework, Version 2.0, wird die Prozessorarchitektur zur Assemblyidentität hinzugefügt und kann als Teil von Assemblynamenzeichenfolgen angegeben werden. Beispiel: "ProcessorArchitecture=msil". Die empfohlene Methode zum Angeben eines Assemblynamens besteht jedoch darin, ein AssemblyName Objekt zu erstellen und an eine entsprechende Überladung der Load Methode zu übergeben. Siehe AssemblyName.ProcessorArchitecture.

Weitere Informationen

Gilt für:

Load(AssemblyName, Evidence)

Achtung

This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

Lädt eine Assembly aufgrund der zugehörigen AssemblyName. Die Assembly wird mithilfe der bereitgestellten Nachweise geladen.

public:
 static System::Reflection::Assembly ^ Load(System::Reflection::AssemblyName ^ assemblyRef, System::Security::Policy::Evidence ^ assemblySecurity);
public static System.Reflection.Assembly Load(System.Reflection.AssemblyName assemblyRef, System.Security.Policy.Evidence assemblySecurity);
[System.Obsolete("This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Reflection.Assembly Load(System.Reflection.AssemblyName assemblyRef, System.Security.Policy.Evidence assemblySecurity);
static member Load : System.Reflection.AssemblyName * System.Security.Policy.Evidence -> System.Reflection.Assembly
[<System.Obsolete("This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
static member Load : System.Reflection.AssemblyName * System.Security.Policy.Evidence -> System.Reflection.Assembly
Public Shared Function Load (assemblyRef As AssemblyName, assemblySecurity As Evidence) As Assembly

Parameter

assemblyRef
AssemblyName

Das Objekt, das die zu ladende Assembly beschreibt.

assemblySecurity
Evidence

Nachweise zum Laden der Assembly.

Gibt zurück

Die geladene Assembly.

Attribute

Ausnahmen

assemblyRef ist null.

assemblyRef wurde nicht gefunden.

assemblyRef ist keine gültige Assembly für die aktuell geladene Laufzeit.

Eine Assembly oder ein Modul wurde zweimal mit zwei verschiedenen Nachweisen geladen.

- oder -

assemblyRef Gibt einen Speicherort an, der basierend auf <loadFromRemoteSources> deaktiviert ist.

Hinweise

FileLoadException wird ausgelöst, wenn assemblyRef der vollständige Assemblyname angegeben wird und die erste Assembly, die dem einfachen Namen entspricht, ein anderes Versions-, Kultur- oder Öffentliche Schlüsseltoken aufweist. Der Ladevorgang wird nicht weiter für andere Assemblys ausgeführt, die dem einfachen Namen entsprechen.

Informationen <loadFromRemoteSources> zum Laden von Assemblys von Remotespeicherorten.

Hinweis

Verwenden Sie nicht nur AssemblyName den CodeBase Eigenschaftensatz. Die CodeBase Eigenschaft stellt keine Elemente der Assemblyidentität (z. B. Name oder Version) bereit, sodass das Laden nicht gemäß Load-by-Identity-Regeln erfolgt, wie Sie von der Load Methode ausgehen würden. Stattdessen wird die Assembly mithilfe von Laderegeln geladen. Informationen zu den Nachteilen der Verwendung des Ladekontexts finden Sie in der Methodenüberladung oder den bewährten Methoden für dasAssembly.LoadFrom Laden von Assemblys.

Das Erteilen bestimmter Berechtigungen für eine Assembly beruht auf Beweisen. Die Regeln für die Zusammenführung von Assembly- und Sicherheitsnachweisen sind wie folgt:

  • Wenn Sie eine Load Methode ohne Evidence Parameter verwenden, wird die Assembly mit dem Nachweis geladen, dass das Ladeprogramm zuliefert.

  • Wenn Sie eine Load Methode mit einem Evidence Parameter verwenden, werden Nachweise zusammengeführt. Beweisstücke, die als Argument für die Load Methode angegeben wurden, überlagerten Beweisstücke, die vom Ladeprogramm bereitgestellt wurden.

  • Wenn Sie eine Load Methodenüberladung mit einem Byte[] Parameter verwenden, um ein allgemeines Objektdateiformat (COFF)-Bild zu laden, werden Nachweise von der aufrufenden Assembly geerbt.

  • Wenn Sie eine Load Methode mit einem Byte[] Parameter verwenden und Evidence ein COFF-Bild laden, werden nur die bereitgestellten Nachweise verwendet. Der Nachweis der aufrufenden Assembly und der Nachweis des COFF-Images wird ignoriert.

Hinweis

Wenn sowohl die AssemblyName.Name Eigenschaft als auch die AssemblyName.CodeBase Eigenschaft festgelegt werden, verwendet der erste Versuch, die Assembly zu laden, den Anzeigenamen (einschließlich Version, Kultur usw.), wie von der Assembly.FullName Eigenschaft zurückgegeben). Wenn die Datei nicht gefunden wird, wird verwendet, CodeBase um nach der Assembly zu suchen. Wenn die Assembly mithilfe CodeBaseder Assembly gefunden wird, wird der Anzeigename mit der Assembly abgeglichen. Wenn die Übereinstimmung fehlschlägt, wird ein FileLoadException Fehler ausgelöst.

Wenn Sie die Load Methode mehrmals für dieselbe Assembly aufrufen, jedoch mit einem anderen angegebenen Nachweis, löst die Common Language Runtime keine FileLoadException Ausschütten aus, da die Gleichheit und Integrität der verschiedenen Nachweisspezifikationen nicht bestimmt werden kann. Der Beweis, der zuerst erfolgreich ist, ist der verwendete Beweis.

Weitere Informationen

Gilt für:

Load(Byte[])

Quelle:
Assembly.cs
Quelle:
Assembly.cs
Quelle:
Assembly.cs
Quelle:
Assembly.cs
Quelle:
Assembly.cs

Lädt die Assembly mit einem gemeinsamen Objektdateiformat (COFF)-basierten Image, das eine ausgelassene Assembly enthält.

public:
 static System::Reflection::Assembly ^ Load(cli::array <System::Byte> ^ rawAssembly);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
public static System.Reflection.Assembly Load(byte[] rawAssembly);
public static System.Reflection.Assembly Load(byte[] rawAssembly);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")>]
static member Load : byte[] -> System.Reflection.Assembly
static member Load : byte[] -> System.Reflection.Assembly
Public Shared Function Load (rawAssembly As Byte()) As Assembly

Parameter

rawAssembly
Byte[]

Ein Bytearray, das ein COFF-basiertes Image ist, das eine ausgegebene Assembly enthält.

Gibt zurück

Die geladene Assembly.

Attribute

Ausnahmen

rawAssembly ist null.

rawAssembly ist keine gültige Assembly für die aktuell geladene Laufzeit.

Hinweise

Diese Methodenüberladung erstellt immer ein neues Assembly Objekt im eigenen isolierten Ladekontext.

Nur .NET Framework: Die Vertrauensstufe einer Assembly, die mithilfe dieser Methode geladen wird, entspricht der Vertrauensstufe der aufrufenden Assembly. Um eine Assembly aus einem Bytearray mit der Vertrauensstufe der Anwendungsdomäne zu laden, verwenden Sie die Load(Byte[], Byte[], SecurityContextSource) Methodenüberladung. Weitere Informationen zur Verwendung von Nachweisen mit Überladungen der Load Methode, die Bytearrays verwendet, finden Sie in der Load(Byte[], Byte[], Evidence) Methodenüberladung.

Gilt für:

Load(String)

Quelle:
Assembly.CoreCLR.cs
Quelle:
Assembly.CoreCLR.cs
Quelle:
Assembly.CoreCLR.cs
Quelle:
Assembly.CoreCLR.cs
Quelle:
Assembly.CoreCLR.cs

Lädt eine Assembly mit dem angegebenen Namen.

public:
 static System::Reflection::Assembly ^ Load(System::String ^ assemblyString);
public static System.Reflection.Assembly Load(string assemblyString);
static member Load : string -> System.Reflection.Assembly
Public Shared Function Load (assemblyString As String) As Assembly

Parameter

assemblyString
String

Die lange oder kurze Form des Assemblynamens.

Gibt zurück

Die geladene Assembly.

Ausnahmen

assemblyString ist null.

assemblyString ist eine leere Zeichenfolge.

assemblyString wurde nicht gefunden.

Eine gefundene Datei konnte nicht geladen werden.

assemblyString ist keine gültige Assembly für die aktuell geladene Laufzeit.

Beispiele

Im folgenden Beispiel wird eine Assembly mit dem vollqualifizierten Namen geladen und alle Typen aufgelistet, die in der angegebenen Assembly enthalten sind. Informationen zum Abrufen des vollqualifizierten Assemblynamens finden Sie unter Assemblynamen.

using System;
using System.Reflection;

class Class1
{
    public static void Main()
    {
        // You must supply a valid fully qualified assembly name.
        Assembly SampleAssembly = Assembly.Load
            ("SampleAssembly, Version=1.0.2004.0, Culture=neutral, PublicKeyToken=8744b20f8da049e3");
        // Display all the types contained in the specified assembly.
        foreach (Type oType in SampleAssembly.GetTypes()) {
            Console.WriteLine(oType.Name);
        }
    }
}
Imports System.Reflection

Class Class1
    Public Shared Sub Main()
        ' You must supply a valid fully qualified assembly name.
        Dim SampleAssembly As [Assembly] = _
            [Assembly].Load("SampleAssembly, Version=1.0.2004.0, Culture=neutral, PublicKeyToken=8744b20f8da049e3")
        Dim oType As Type
        ' Display all the types contained in the specified assembly.
        For Each oType In SampleAssembly.GetTypes()
            Console.WriteLine(oType.Name)
        Next oType
    End Sub	'LoadSample
End Class

Hinweise

In .NET Core/.NET 5+ wird die Zielassembly in den aktuellen AssemblyLoadContext oder in den AssemblyLoadContext.CurrentContextualReflectionContext Kontext geladen, wenn sie festgelegt ist. Weitere Informationen zum Laden von Assemblys finden Sie im Algorithmus zum Laden verwalteter Assemblys.

Zum Laden der richtigen Assembly wird empfohlen, die Load Methode aufzurufen, indem die lange Form des Assemblynamens übergeben wird. Die lange Form eines Assemblynamens besteht aus seinem einfachen Namen (z. B. "System" für die System.dll Assembly) zusammen mit seiner Version, Kultur, öffentlichem Schlüsseltoken und optional seiner Prozessorarchitektur. Sie entspricht der Eigenschaft der Assembly FullName . Das folgende Beispiel veranschaulicht die Verwendung eines langen Namens zum Laden der System.dll Assembly für .NET Framework 4:

using System;
using System.Reflection;

public class Example
{
   public static void Main()
   {
      string longName = "system, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
      Assembly assem = Assembly.Load(longName);
      if (assem == null)
         Console.WriteLine("Unable to load assembly...");
      else
         Console.WriteLine(assem.FullName);
   }
}
// The example displays the following output:
//        system, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Imports System.Reflection

Module Example
   Public Sub Main()
      Dim longName As String = "system, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
      Dim assem As Assembly = Assembly.Load(longName)
      If assem Is Nothing Then
         Console.WriteLine("Unable to load assembly...")
      Else
         Console.WriteLine(assem.FullName)
      End If
   End Sub
End Module
' The example displays the following output:
'       system, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

FileLoadException wird ausgelöst, wenn assemblyString der vollständige Assemblyname angegeben wird und die erste Assembly, die dem einfachen Namen entspricht, ein anderes Versions-, Kultur- oder Öffentliche Schlüsseltoken aufweist. Der Ladevorgang wird nicht weiter für andere Assemblys ausgeführt, die dem einfachen Namen entsprechen.

In .NET Framework, Version 2.0, wird die Prozessorarchitektur zur Assemblyidentität hinzugefügt und kann als Teil von Assemblynamenzeichenfolgen angegeben werden. Beispiel: "ProcessorArchitecture=msil". Die empfohlene Methode zum Angeben eines Assemblynamens besteht jedoch darin, ein AssemblyName Objekt zu erstellen und an eine entsprechende Überladung der Load Methode zu übergeben. Siehe AssemblyName.ProcessorArchitecture.

Weitere Informationen

Gilt für:

Load(AssemblyName)

Quelle:
Assembly.CoreCLR.cs
Quelle:
Assembly.CoreCLR.cs
Quelle:
Assembly.CoreCLR.cs
Quelle:
Assembly.CoreCLR.cs
Quelle:
Assembly.CoreCLR.cs

Lädt eine Assembly aufgrund der zugehörigen AssemblyName.

public:
 static System::Reflection::Assembly ^ Load(System::Reflection::AssemblyName ^ assemblyRef);
public static System.Reflection.Assembly Load(System.Reflection.AssemblyName assemblyRef);
static member Load : System.Reflection.AssemblyName -> System.Reflection.Assembly
Public Shared Function Load (assemblyRef As AssemblyName) As Assembly

Parameter

assemblyRef
AssemblyName

Das Objekt, das die zu ladende Assembly beschreibt.

Gibt zurück

Die geladene Assembly.

Ausnahmen

assemblyRef ist null.

assemblyRef wurde nicht gefunden.

Eine gefundene Datei konnte nicht geladen werden.

- oder -

.NET Framework nur: assemblyRef Gibt einen Speicherort an, der basierend auf <loadFromRemoteSources> deaktiviert ist.

Hinweis: In .NET für Windows Store-Apps oder der portablen Klassenbibliothek erfassen Sie stattdessen die Basisklassen-Ausnahme. IOException

assemblyRef ist keine gültige Assembly für die aktuell geladene Laufzeit.

Beispiele

Im folgenden Beispiel wird ein AssemblyName Objekt instanziiert und zum Laden der sysglobal.dll Assembly verwendet. Im Beispiel wird dann der vollständige Name der öffentlichen Typen der Assembly angezeigt.

using System;
using System.Reflection;

public class Example
{
   public static void Main()
   {
      String fullName = "sysglobl, Version=4.0.0.0, Culture=neutral, " +
                        "PublicKeyToken=b03f5f7f11d50a3a, processor architecture=MSIL";
      var an = new AssemblyName(fullName);
      var assem = Assembly.Load(an);
      Console.WriteLine("Public types in assembly {0}:", assem.FullName);
      foreach (var t in assem.GetTypes())
         if (t.IsPublic)
            Console.WriteLine("   {0}", t.FullName);
   }
}
// The example displays the following output:
//   Public types in assembly sysglobl, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a:
//      System.Globalization.CultureAndRegionInfoBuilder
//      System.Globalization.CultureAndRegionModifiers
Imports System.Reflection

Module Example
   Public Sub Main()
      Dim fullName As String = "sysglobl, Version=4.0.0.0, Culture=neutral, " +
                               "PublicKeyToken=b03f5f7f11d50a3a, processor architecture=MSIL"
      Dim an As New AssemblyName(fullName)
      Dim assem As Assembly = Assembly.Load(an)
      Console.WriteLine("Public types in assembly {0}:", assem.FullName)
      For Each t As Type in assem.GetTypes()
         If t.IsPublic Then Console.WriteLine("   {0}", t.FullName)
      Next
   End Sub
End Module

' The example displays the following output:
'   Public types in assembly sysglobl, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a:
'      System.Globalization.CultureAndRegionInfoBuilder
'      System.Globalization.CultureAndRegionModifiers

Hinweise

In .NET Core/.NET 5+ wird die Zielassembly in den aktuellen AssemblyLoadContext oder in den AssemblyLoadContext.CurrentContextualReflectionContext Kontext geladen, wenn sie festgelegt ist. Weitere Informationen zum Laden von Assemblys finden Sie im Algorithmus zum Laden verwalteter Assemblys.

Hinweis

Nur .NET Framework: Informationen zum Laden von Assemblys von Remotespeicherorten finden Sie unter <loadFromRemoteSources>.

Hinweis

Nur .NET Framework: Verwenden Sie nicht nur AssemblyName den CodeBase Eigenschaftensatz. Die CodeBase Eigenschaft stellt keine Elemente der Assemblyidentität (z. B. Name oder Version) bereit, sodass das Laden nicht gemäß Load-by-Identity-Regeln erfolgt, wie Sie von der Load Methode ausgehen würden. Stattdessen wird die Assembly mithilfe von Laderegeln geladen. Informationen zu den Nachteilen der Verwendung des Ladekontexts finden Sie in der Methodenüberladung oder den bewährten Methoden für dasAssembly.LoadFrom Laden von Assemblys.

Hinweis

Nur .NET Framework: Wenn sowohl die AssemblyName.Name Eigenschaft als auch die AssemblyName.CodeBase Eigenschaft festgelegt werden, verwendet der erste Versuch, die Assembly zu laden, den Anzeigenamen (einschließlich Version, Kultur usw.), wie von der Assembly.FullName Eigenschaft zurückgegeben). Wenn die Datei nicht gefunden wird, wird verwendet, CodeBase um nach der Assembly zu suchen. Wenn die Assembly mithilfe CodeBaseder Assembly gefunden wird, wird der Anzeigename mit der Assembly abgeglichen. Wenn die Übereinstimmung fehlschlägt, wird ein FileLoadException Fehler ausgelöst.

Weitere Informationen

Gilt für:

Load(Byte[], Byte[])

Quelle:
Assembly.cs
Quelle:
Assembly.cs
Quelle:
Assembly.cs
Quelle:
Assembly.cs
Quelle:
Assembly.cs

Lädt die Assembly mit einem allgemeinen Objektdateiformat (COFF)-basierten Image, das eine ausgelassene Assembly enthält, optional auch Symbole für die Assembly.

public:
 static System::Reflection::Assembly ^ Load(cli::array <System::Byte> ^ rawAssembly, cli::array <System::Byte> ^ rawSymbolStore);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
public static System.Reflection.Assembly Load(byte[] rawAssembly, byte[]? rawSymbolStore);
public static System.Reflection.Assembly Load(byte[] rawAssembly, byte[] rawSymbolStore);
public static System.Reflection.Assembly Load(byte[] rawAssembly, byte[]? rawSymbolStore);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")>]
static member Load : byte[] * byte[] -> System.Reflection.Assembly
static member Load : byte[] * byte[] -> System.Reflection.Assembly
Public Shared Function Load (rawAssembly As Byte(), rawSymbolStore As Byte()) As Assembly

Parameter

rawAssembly
Byte[]

Ein Bytearray, das ein COFF-basiertes Image ist, das eine ausgegebene Assembly enthält.

rawSymbolStore
Byte[]

Ein Bytearray, das die unformatierten Bytes enthält, die die Symbole für die Assembly darstellen.

Gibt zurück

Die geladene Assembly.

Attribute

Ausnahmen

rawAssembly ist null.

rawAssembly ist keine gültige Assembly für die aktuell geladene Laufzeit.

Hinweise

In .NET Core/5+ wird die Zielassembly in den aktuellen AssemblyLoadContextgeladen. Weitere Informationen zum Laden von Assemblys finden Sie im Algorithmus zum Laden verwalteter Assemblys.

Diese Methodenüberladung erstellt immer ein neues Assembly Objekt im eigenen isolierten Ladekontext.

Nur .NET Framework: Die Vertrauensstufe einer Assembly, die mithilfe dieser Methode geladen wird, entspricht der Vertrauensstufe der aufrufenden Assembly. Um eine Assembly aus einem Bytearray mit der Vertrauensstufe der Anwendungsdomäne zu laden, verwenden Sie die Load(Byte[], Byte[], SecurityContextSource) Methodenüberladung. Weitere Informationen zur Verwendung von Nachweisen mit Überladungen der Load Methode, die Bytearrays verwendet, finden Sie in der Load(Byte[], Byte[], Evidence) Methodenüberladung.

Gilt für: