Assembly.Load Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.