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 im .NET Framework 4 nicht aktiviert. Wenn sie nicht aktiviert ist, securityEvidence muss sie seinnull.

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 angegebenen 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 eine Remoteassembly an, die Funktion zum Ausführen von Code in Remoteassemblys ist jedoch deaktiviert. Weitere Informationen finden Sie unter <loadFromRemoteSources>.

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. Ab .NET Framework 4 wird auch ein ausgelöst, wenn assemblyRef eine FileLoadException Remoteassembly angibt, da die Ausführung von Code in Remoteassemblys standardmäßig deaktiviert ist. Um die Ausführung von Code zu ermöglichen, der von Remotestandorten geladen wird, können Sie das <loadFromRemoteSources> Konfigurationselement verwenden.

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 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.

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 wird. 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, 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.

Weitere Informationen

Gilt für:

Load(Byte[])

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 aktuell 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 mithilfe 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 Vertrauensstellungsebene der Anwendungsdomäne zu laden. Weitere Informationen zur Verwendung von Beweisen mit Überladungen der Methode, die Load Bytearrays annehmen, finden Sie unter Methodenüberladung Load(Byte[], Byte[], Evidence) .

Gilt für:

Load(String)

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 aktuell 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 dem einfachen Namen (z. B. "System" für die System.dll Assembly) sowie seiner Version, Kultur, dem öffentlichen Schlüsseltoken und optional der Prozessorarchitektur. Sie entspricht der Eigenschaft der FullName Assembly. Im folgenden Beispiel wird die Verwendung eines langen Namens veranschaulicht, um die System.dll Assembly für die .NET Framework 4 zu laden:

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, eine andere Version, Kultur oder ein anderes Ö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 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)

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 -

assemblyRef gibt eine Remoteassembly an, die Funktion zum Ausführen von Code in Remoteassemblys ist jedoch deaktiviert. Weitere Informationen finden Sie unter <loadFromRemoteSources>.

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

assemblyRef ist keine gültige Assembly für die aktuell 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 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. Ab .NET Framework 4 wird auch ein ausgelöst, wenn assemblyRef eine FileLoadException Remoteassembly angibt, da die Ausführung von Code in Remoteassemblys standardmäßig deaktiviert ist. Um die Ausführung von Code zu ermöglichen, der von Remotestandorten geladen wird, können Sie das <loadFromRemoteSources> Konfigurationselement verwenden.

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.

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 wird. 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[])

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 aktuell 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 mithilfe 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 Vertrauensstellungsebene der Anwendungsdomäne zu laden. Weitere Informationen zur Verwendung von Beweisen mit Überladungen der Methode, die Load Bytearrays annehmen, finden Sie unter Methodenüberladung Load(Byte[], Byte[], Evidence) .

Gilt für: