Freigeben über


Assembly.Load Methode

Definition

Lädt eine Assembly.

Überlädt

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

Lädt die Assembly mit einem COFF-Image (Common Object File Format), das eine ausgegebene Assembly und optional Symbole enthält und die Quelle für den Sicherheitskontext angibt.

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

Lädt die Assembly mit einem COFF-Image (Common Object File Format), das eine ausgegebene Assembly und optional Symbole sowie einen Beweis für die Assembly enthält.

Load(String, Evidence)
Veraltet.

Lädt eine Assembly unter Angabe ihres Anzeigenamens und unter Verwendung des angegebenen Nachweises.

Load(AssemblyName, Evidence)
Veraltet.

Lädt eine Assembly bei Angabe von AssemblyName. Die Assembly wird mithilfe des angegebenen Nachweises geladen.

Load(Byte[])

Lädt die Assembly mit einem COFF (Common Object File Format)-Image, das eine ausgegebene Assembly enthält.

Load(String)

Lädt einen Typ mit dem angegebenen Namen.

Load(AssemblyName)

Lädt eine Assembly bei Angabe von AssemblyName.

Load(Byte[], Byte[])

Lädt die Assembly mit einem COFF-Image (Common Object File Format), das eine ausgegebene Assembly und optional Symbole für die Assembly enthält.

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

Lädt die Assembly mit einem COFF-Image (Common Object File Format), das eine ausgegebene Assembly und optional Symbole enthält und die Quelle für den Sicherheitskontext angibt.

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-Image mit einer ausgegebenen Assembly ist.

rawSymbolStore
Byte[]

Ein Bytearray, das die Rohdatenbytes 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 Runtime.

Der Wert von securityContextSource ist keiner 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 COFF-Image (Common Object File Format), das eine ausgegebene Assembly und optional Symbole sowie einen Beweis für die Assembly enthält.

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-Image mit einer ausgegebenen Assembly ist.

rawSymbolStore
Byte[]

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

securityEvidence
Evidence

Beweis für das 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 Runtime.

Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.

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

Hinweise

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

Die Assembly wird mithilfe des angegebenen Nachweises 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 Vom Ladeprogramm bereitgestellten Nachweis geladen.

  • Wenn Sie die Load-Methode mit einem Evidence-Parameter verwenden, werden einzelne Beweise zusammengeführt. Beweisstücke, die als Argument für die Load Methode angegeben werden, ersetzen die vom Loader gelieferten Beweisstücke.

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

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

Wenn Sie die Load -Methode mehr als einmal für dieselbe Assembly aufrufen, aber ein anderer Beweis angegeben ist, löst die Common Language Runtime keine aus FileLoadException , da die Gleichheit und Integrität der verschiedenen Beweisspezifikationen 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 unter Angabe ihres Anzeigenamens und unter Verwendung des angegebenen Nachweises.

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

Beweis für das 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 Runtime.

Eine gefundene Datei konnte nicht geladen werden.

- oder -

Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.

Hinweise

FileLoadException wird ausgelöst, wenn assemblyString der vollständige Assemblyname angegeben wird und die erste Assembly, die dem einfachen Namen entspricht, eine andere Version, Kultur oder ein anderes Öffentliches Schlüsseltoken aufweist. Das Ladeprogramm sucht nicht weiter nach anderen Assemblys, 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 Vom Ladeprogramm bereitgestellten Nachweis geladen.

  • Wenn Sie die Load-Methode mit einem Evidence-Parameter verwenden, werden einzelne Beweise zusammengeführt. Beweisstücke, die als Argument für die Load Methode angegeben werden, ersetzen die vom Loader gelieferten Beweisstücke.

  • Wenn Sie eine Load Methodenüberladung mit einem Byte[] Parameter verwenden, um ein COFF-Image (Common Object File Format) zu laden, wird der Nachweis von der aufrufenden Assembly geerbt.

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

Wenn Sie diese Methode mehrmals für dieselbe Assembly aufrufen, aber einen anderen Nachweis angeben, löst die Common Language Runtime keine aus FileLoadException , da die Gleichheit und Integrität der verschiedenen Beweisspezifikationen nicht bestimmt werden kann. Der Beweis, der zuerst erfolgreich ist, ist der verwendete Beweis.

In .NET Framework Version 2.0 wird die Prozessorarchitektur der Assemblyidentität hinzugefügt und kann als Teil von Assemblynamenzeichenfolgen angegeben werden. Beispiel: "ProcessorArchitecture=msil". Die empfohlene Möglichkeit zum Angeben eines Assemblynamens besteht jedoch darin, ein AssemblyName Objekt zu erstellen und es 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 bei Angabe von AssemblyName. Die Assembly wird mithilfe des bereitgestellten Nachweises 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

Beweis für das 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 Runtime.

Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen 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, eine andere Version, Kultur oder ein anderes Öffentliches Schlüsseltoken aufweist. Das Ladeprogramm sucht nicht weiter nach anderen Assemblys, die dem einfachen Namen entsprechen.

Weitere Informationen zum Laden von Assemblys von Remotestandorten finden Sie <loadFromRemoteSources> unter.

Hinweis

Verwenden Sie nicht mit nur dem CodeBase Eigenschaftssatz.AssemblyName Die CodeBase -Eigenschaft stellt keine Elemente der Assemblyidentität (z. B. Name oder Version) bereit, sodass das Laden nicht gemäß den Regeln für das Laden der Identität erfolgt, wie Sie es von der Load Methode erwarten würden. Stattdessen wird die Assembly mithilfe von Load-from-Regeln geladen. Informationen zu den Nachteilen der Verwendung des Kontexts "Laden aus" finden Sie in der Assembly.LoadFrom Methodenüberladung oder unter Bewährte Methoden für das Laden von Assemblys.

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

  • Wenn Sie eine Load Methode ohne Evidence Parameter verwenden, wird die Assembly mit dem Beweis geladen, den der Ladeprogramm liefert.

  • Wenn Sie die Load-Methode mit einem Evidence-Parameter verwenden, werden einzelne Beweise zusammengeführt. Beweisstücke, die als Argument für die Load Methode angegeben werden, ersetzten die vom Ladeprogramm gelieferten Beweise.

  • Wenn Sie eine Load Methodenüberladung mit einem Byte[] Parameter verwenden, um ein COFF-Image (Common Object File Format) zu laden, wird der Nachweis von der aufrufenden Assembly geerbt.

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

Hinweis

Wenn sowohl die AssemblyName.Name -Eigenschaft als auch die AssemblyName.CodeBase -Eigenschaft festgelegt sind, 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 mit CodeBasegefunden wird, wird der Anzeigename mit der Assembly abgeglichen. Wenn die Übereinstimmung fehlschlägt, wird ein FileLoadException ausgelöst.

Wenn Sie die Load Methode mehr als einmal für dieselbe Assembly aufrufen, jedoch mit einem anderen angegebenen Beweis, löst die Common Language Runtime keine aus FileLoadException , da die Gleichheit und Integrität der verschiedenen Beweisspezifikationen nicht bestimmt werden kann. Der Beweis, der zuerst erfolgreich ist, sind die beweise, die verwendet werden.

Weitere Informationen

Gilt für:

Load(Byte[])

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

Lädt die Assembly mit einem COFF (Common Object File Format)-Image, das eine ausgegebene Assembly enthält.

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

Parameter

rawAssembly
Byte[]

Ein Bytearray, das ein COFF-Image mit einer ausgegebenen Assembly ist.

Gibt zurück

Die geladene Assembly.

Ausnahmen

rawAssembly ist null

rawAssembly ist keine gültige Assembly für die derzeit geladene Runtime.

Hinweise

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

Nur .NET Framework: Die Vertrauensebene einer Assembly, die mit dieser Methode geladen wird, entspricht der Vertrauensebene der aufrufenden Assembly. Verwenden Load(Byte[], Byte[], SecurityContextSource) Sie die Methodenüberladung, um eine Assembly aus einem Bytearray mit der Vertrauensebene der Anwendungsdomäne zu laden. Weitere Informationen zur Verwendung von Evidence mit Überladungen der -Methode, die Load Bytearrays annehmen, 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

Lädt einen Typ 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 Langform oder Kurzform des Assemblynamens.

Gibt zurück

Die geladene Assembly.

Ausnahmen

assemblyString ist null.

assemblyString ist eine Zeichenfolge der Länge 0 (null).

assemblyString wurde nicht gefunden.

Eine gefundene Datei konnte nicht geladen werden.

assemblyString ist keine gültige Assembly für die derzeit geladene Runtime.

Beispiele

Im folgenden Beispiel wird eine Assembly mit ihrem 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 namespace System;
using namespace System::Collections;
using namespace System::Reflection;
int main()
{
    // You must supply a valid fully qualified assembly name.            
    Assembly^ SampleAssembly = Assembly::Load
        ( "SampleAssembly, Version=1.0.2004.0, Culture=neutral, PublicKeyToken=8744b20f8da049e3" );
    array<Type^>^ Types = SampleAssembly->GetTypes();
    
    // Display all the types contained in the specified assembly.
    IEnumerator^ myEnum = Types->GetEnumerator();
    Type^ oType;
    while ( myEnum->MoveNext() )
    {
        oType = safe_cast<Type^>(myEnum->Current);
        Console::WriteLine( oType->Name );
    }
}
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

Um die richtige Assembly zu laden, wird empfohlen, die Load -Methode aufzurufen, indem Sie die lange Form des Assemblynamens übergeben. 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 FullName Assembly. 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 mit dem einfachen Namen übereinstimmt, ein anderes Versions-, Kultur- oder öffentliches Schlüsseltoken aufweist. Das Ladeprogramm sucht nicht weiter nach anderen Assemblys, die dem einfachen Namen entsprechen.

In .NET Framework Version 2.0 wird die Prozessorarchitektur der 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 es 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

Lädt eine Assembly bei Angabe von 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 -

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

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

assemblyRef ist keine gültige Assembly für die derzeit geladene Runtime.

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

FileLoadException wird ausgelöst, wenn assemblyRef der vollständige Assemblyname angegeben wird und die erste Assembly, die mit dem einfachen Namen übereinstimmt, über ein anderes Versions-, Kultur- oder öffentliches Schlüsseltoken verfügt. Das Ladeprogramm sucht nicht weiter nach anderen Assemblys, die dem einfachen Namen entsprechen.

Nur .NET Framework: Weitere Informationen finden Sie unter <loadFromRemoteSources> Laden von Assemblys von Remotestandorten.

Hinweis

Nur .NET Framework: Verwenden Sie nicht mit AssemblyName dem CodeBase -Eigenschaftssatz. Die CodeBase -Eigenschaft stellt keine Elemente der Assemblyidentität (z. B. Name oder Version) bereit, sodass das Laden nicht gemäß den Regeln für das Laden nach Identität erfolgt, wie Sie es von der Load -Methode erwarten würden. Stattdessen wird die Assembly mithilfe von Laderegeln geladen. Informationen zu den Nachteilen der Verwendung des Kontexts "Laden aus" finden Sie in der Assembly.LoadFrom Methodenüberladung oder unter Bewährte Methoden für das Laden von Assemblys.

Hinweis

Nur .NET Framework: Wenn sowohl die AssemblyName.Name -Eigenschaft als auch die AssemblyName.CodeBase -Eigenschaft festgelegt sind, 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 mit CodeBasegefunden wird, wird der Anzeigename mit der Assembly abgeglichen. Wenn die Übereinstimmung fehlschlägt, wird ein FileLoadException ausgelöst.

Weitere Informationen

Gilt für:

Load(Byte[], Byte[])

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

Lädt die Assembly mit einem COFF-Image (Common Object File Format), das eine ausgegebene Assembly und optional Symbole für die Assembly enthält.

public:
 static System::Reflection::Assembly ^ Load(cli::array <System::Byte> ^ rawAssembly, cli::array <System::Byte> ^ rawSymbolStore);
public static System.Reflection.Assembly Load (byte[] rawAssembly, byte[]? rawSymbolStore);
public static System.Reflection.Assembly Load (byte[] rawAssembly, byte[] rawSymbolStore);
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-Image mit einer ausgegebenen Assembly ist.

rawSymbolStore
Byte[]

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

Gibt zurück

Die geladene Assembly.

Ausnahmen

rawAssembly ist null

rawAssembly ist keine gültige Assembly für die derzeit geladene Runtime.

Hinweise

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

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

Gilt für: