Udostępnij za pośrednictwem


Assembly.Load Metoda

Definicja

Ładuje zestaw.

Przeciążenia

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

Ładuje zestaw z obrazem opartym na formacie wspólnego pliku obiektów (COFF) zawierającym emitowany zestaw, opcjonalnie włączając symbole i określając źródło kontekstu zabezpieczeń.

Load(Byte[], Byte[], Evidence)
Przestarzałe.

Ładuje zestaw ze wspólnym obrazem opartym na formacie pliku obiektów (COFF) zawierającym emitowany zestaw, opcjonalnie w tym symbole i dowody dla zestawu.

Load(String, Evidence)
Przestarzałe.

Ładuje zestaw o podanej nazwie wyświetlanej i przy użyciu dostarczonych dowodów.

Load(AssemblyName, Evidence)
Przestarzałe.

Ładuje zestaw, biorąc pod uwagę jego AssemblyNamewartość . Zestaw jest ładowany przy użyciu dostarczonych dowodów.

Load(Byte[])

Ładuje zestaw za pomocą obrazu opartego na formacie wspólnego pliku obiektów (COFF) zawierającego emitowany zestaw.

Load(String)

Ładuje zestaw o określonej nazwie.

Load(AssemblyName)

Ładuje zestaw, biorąc pod uwagę jego AssemblyNamewartość .

Load(Byte[], Byte[])

Ładuje zestaw ze wspólnym obrazem opartym na formacie pliku obiektów (COFF) zawierającym emitowany zestaw, opcjonalnie włączając symbole zestawu.

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

Ładuje zestaw z obrazem opartym na formacie wspólnego pliku obiektów (COFF) zawierającym emitowany zestaw, opcjonalnie włączając symbole i określając źródło kontekstu zabezpieczeń.

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

Parametry

rawAssembly
Byte[]

Tablica bajtów, która jest obrazem w formacie COFF, zawierającym emitowany zestaw.

rawSymbolStore
Byte[]

Tablica bajtów zawierająca nieprzetworzone bajty reprezentujące symbole zestawu.

securityContextSource
SecurityContextSource

Źródło kontekstu zabezpieczeń.

Zwraca

Załadowany zestaw.

Wyjątki

rawAssembly to null.

rawAssembly nie jest prawidłowym zestawem dla aktualnie załadowanego środowiska uruchomieniowego.

Wartość nie securityContextSource jest jedną z wartości wyliczenia.

Uwagi

Zestaw jest ładowany do domeny aplikacji obiektu wywołującego przy użyciu określonego źródła dla kontekstu zabezpieczeń. Jeśli rawSymbolStore określono, nieprzetworzone bajty reprezentujące symbole zestawu również są ładowane.

Dotyczy

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

Przestroga

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.

Ładuje zestaw ze wspólnym obrazem opartym na formacie pliku obiektów (COFF) zawierającym emitowany zestaw, opcjonalnie w tym symbole i dowody dla zestawu.

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

Parametry

rawAssembly
Byte[]

Tablica bajtów, która jest obrazem w formacie COFF, zawierającym emitowany zestaw.

rawSymbolStore
Byte[]

Tablica bajtów zawierająca nieprzetworzone bajty reprezentujące symbole zestawu.

securityEvidence
Evidence

Dowód ładowania zestawu.

Zwraca

Załadowany zestaw.

Atrybuty

Wyjątki

rawAssembly to null.

rawAssembly nie jest prawidłowym zestawem dla aktualnie załadowanego środowiska uruchomieniowego.

Zestaw lub moduł został załadowany dwukrotnie z dwoma różnymi dowodami.

securityEvidence nie nulljest . Domyślnie starsze zasady CAS nie są włączone w programie .NET Framework 4; jeśli nie jest włączona, securityEvidence musi mieć wartość null.

Uwagi

To przeciążenie metody zawsze tworzy nowy Assembly obiekt we własnym izolowanym kontekście ładowania.

Zestaw jest ładowany przy użyciu dostarczonych dowodów. Ładowane są również nieprzetworzone bajty reprezentujące symbole zestawu.

To, czy określone uprawnienia są przyznane do zestawu, czy nie, zależy od dowodów. Zasady scalania kompilowania asemblera i dowodów zabezpieczeń są następujące:

  • Jeśli używasz Load metody bez Evidence parametru, zestaw jest ładowany z dowodem, że moduł ładujący dostarcza.

  • Gdy używasz Load metody z parametrem Evidence , elementy dowodów są scalane. Dowody dostarczone jako argument metody Load zastępuje dowody dostarczone przez moduł ładujący.

  • W przypadku użycia Load przeciążenia metody z parametrem Byte[] w celu załadowania obrazu COFF dowody są dziedziczone z zestawu wywołującego.

  • W przypadku użycia Load metody z parametrem Byte[] i Evidence załadowania obrazu COFF używany jest tylko dostarczony dowód. Dowody wywołującego zestawu i dowodów obrazu COFF są ignorowane.

Jeśli metoda jest wywoływana Load więcej niż raz w tym samym zestawie, ale z określonymi innymi dowodami, środowisko uruchomieniowe języka wspólnego nie zgłasza FileLoadException wartości, ponieważ nie można określić równości i integralności różnych specyfikacji dowodów. Używanym dowodem jest dowód na to, że odniesie się sukces za pierwszym razem.

Dotyczy

Load(String, Evidence)

Przestroga

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.

Ładuje zestaw o podanej nazwie wyświetlanej i przy użyciu dostarczonych dowodów.

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

Parametry

assemblyString
String

Wyświetlana nazwa zestawu.

assemblySecurity
Evidence

Dowód ładowania zestawu.

Zwraca

Załadowany zestaw.

Atrybuty

Wyjątki

assemblyString to null.

assemblyString nie można odnaleźć.

assemblyString nie jest prawidłowym zestawem dla aktualnie załadowanego środowiska uruchomieniowego.

Nie można załadować pliku, który został znaleziony.

-lub-

Zestaw lub moduł został załadowany dwukrotnie z dwoma różnymi dowodami.

Uwagi

FileLoadException parametr jest zgłaszany, jeśli assemblyString określa pełną nazwę zestawu, a pierwszy zestaw zgodny z prostą nazwą ma inną wersję, kulturę lub token klucza publicznego. Moduł ładujący nie kontynuuje sondowania innych zestawów, które są zgodne z prostą nazwą.

To, czy określone uprawnienia są przyznane do zestawu, czy nie, zależy od dowodów. Zasady scalania kompilowania asemblera i dowodów zabezpieczeń są następujące:

  • Jeśli używasz Load metody bez Evidence parametru, zestaw jest ładowany z dowodem, że moduł ładujący dostarcza.

  • Gdy używasz Load metody z parametrem Evidence , elementy dowodów są scalane. Dowody dostarczone jako argument metody Load zastępuje dowody dostarczone przez moduł ładujący.

  • W przypadku użycia Load przeciążenia metody z parametrem Byte[] w celu załadowania obrazu wspólnego formatu pliku obiektów (COFF) dowody są dziedziczone z zestawu wywołującego.

  • W przypadku użycia Load metody z parametrem Byte[] i Evidence załadowania obrazu COFF używany jest tylko dostarczony dowód. Dowody na wywołanie zestawu i dowody obrazu COFF są ignorowane.

Jeśli wywołasz tę metodę więcej niż raz w tym samym zestawie, ale z określonymi innymi dowodami, środowisko uruchomieniowe języka wspólnego nie zgłasza FileLoadException wartości, ponieważ nie można określić równości i integralności różnych specyfikacji dowodów. Używanym dowodem jest dowód na to, że odniesie się sukces za pierwszym razem.

W wersji 2.0 środowiska .NET Framework architektura procesora jest dodawana do tożsamości zestawu i może być określona jako część zestawu ciągu nazw. Na przykład "ProcessorArchitecture = msil". Jednak zalecanym sposobem określenia nazwy zestawu jest utworzenie AssemblyName obiektu i przekazanie go do odpowiedniego Load przeciążenia metody. Zobacz: .

Zobacz też

Dotyczy

Load(AssemblyName, Evidence)

Przestroga

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.

Ładuje zestaw, biorąc pod uwagę jego AssemblyNamewartość . Zestaw jest ładowany przy użyciu dostarczonych dowodów.

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

Parametry

assemblyRef
AssemblyName

Obiekt opisujący zestaw do załadowania.

assemblySecurity
Evidence

Dowód ładowania zestawu.

Zwraca

Załadowany zestaw.

Atrybuty

Wyjątki

assemblyRef to null.

assemblyRef nie można odnaleźć.

assemblyRef nie jest prawidłowym zestawem dla aktualnie załadowanego środowiska uruchomieniowego.

Zestaw lub moduł został załadowany dwukrotnie z dwoma różnymi dowodami.

-lub-

assemblyRef Określa lokalizację, która jest wyłączona na <podstawie loadFromRemoteSources>.

Uwagi

FileLoadException parametr jest zgłaszany, jeśli assemblyRef określa pełną nazwę zestawu, a pierwszy zestaw zgodny z prostą nazwą ma inną wersję, kulturę lub token klucza publicznego. Moduł ładujący nie kontynuuje sondowania innych zestawów, które są zgodne z prostą nazwą.

Zobacz <loadFromRemoteSources> ładowanie zestawów z lokalizacji zdalnych.

Uwaga

Nie należy używać obiektu AssemblyName z tylko zestawem CodeBase właściwości. Właściwość CodeBase nie dostarcza żadnych elementów tożsamości zestawu (takich jak nazwa lub wersja), dlatego ładowanie nie odbywa się zgodnie z regułami ładowania po tożsamości, jak można oczekiwać od Load metody . Zamiast tego zestaw jest ładowany przy użyciu reguł ładowania z. Aby uzyskać informacje o wadach korzystania z kontekstu ładowania, zobacz Assembly.LoadFrom przeciążenie metody lub najlepsze rozwiązania dotyczące ładowania zestawów.

To, czy określone uprawnienia są przyznane do zestawu, czy nie, zależy od dowodów. Zasady scalania kompilowania asemblera i dowodów zabezpieczeń są następujące:

  • Jeśli używasz Load metody bez Evidence parametru, zestaw jest ładowany z dowodem, że moduł ładujący dostarcza.

  • Gdy używasz Load metody z parametrem Evidence , elementy dowodów są scalane. Dowody dostarczone jako argument metody Load zastępuje dowody dostarczone przez moduł ładujący.

  • W przypadku użycia Load przeciążenia metody z parametrem Byte[] w celu załadowania obrazu wspólnego formatu pliku obiektów (COFF) dowody są dziedziczone z zestawu wywołującego.

  • W przypadku użycia Load metody z parametrem Byte[] i Evidence załadowania obrazu COFF używany jest tylko dostarczony dowód. Dowody na wywołanie zestawu i dowody obrazu COFF są ignorowane.

Uwaga

Jeśli ustawiono AssemblyName.Name zarówno właściwość, jak i AssemblyName.CodeBase właściwość, pierwsza próba załadowania zestawu używa nazwy wyświetlanej (w tym wersji, kultury itd., zwróconej Assembly.FullName przez właściwość ). Jeśli plik nie zostanie znaleziony, CodeBase zostanie użyty do wyszukania zestawu. Jeśli zestaw zostanie znaleziony przy użyciu elementu CodeBase, nazwa wyświetlana jest dopasowywana do zestawu. Jeśli dopasowanie zakończy się niepowodzeniem FileLoadException , zostanie zgłoszony element .

Jeśli metoda jest wywoływana Load więcej niż raz w tym samym zestawie, ale z określonymi innymi dowodami, środowisko uruchomieniowe języka wspólnego nie zgłasza FileLoadException wartości, ponieważ nie można określić równości i integralności różnych specyfikacji dowodów. Używanym dowodem jest dowód na to, że odniesie się sukces za pierwszym razem.

Zobacz też

Dotyczy

Load(Byte[])

Źródło:
Assembly.cs
Źródło:
Assembly.cs
Źródło:
Assembly.cs

Ładuje zestaw za pomocą obrazu opartego na formacie wspólnego pliku obiektów (COFF) zawierającego emitowany zestaw.

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

Parametry

rawAssembly
Byte[]

Tablica bajtów, która jest obrazem w formacie COFF, zawierającym emitowany zestaw.

Zwraca

Załadowany zestaw.

Wyjątki

rawAssembly to null.

rawAssembly nie jest prawidłowym zestawem dla aktualnie załadowanego środowiska uruchomieniowego.

Uwagi

To przeciążenie metody zawsze tworzy nowy Assembly obiekt we własnym izolowanym kontekście ładowania.

Tylko program .NET Framework: Poziom zaufania zestawu ładowanego przy użyciu tej metody jest taki sam jak poziom zaufania zestawu wywołującego. Aby załadować zestaw z tablicy bajtów z poziomem zaufania domeny aplikacji, użyj Load(Byte[], Byte[], SecurityContextSource) przeciążenia metody. Aby uzyskać więcej informacji na temat używania dowodów z przeciążeniami Load metody, które przyjmują tablice bajtów, zobacz Load(Byte[], Byte[], Evidence) przeciążenie metody.

Dotyczy

Load(String)

Źródło:
Assembly.CoreCLR.cs
Źródło:
Assembly.CoreCLR.cs
Źródło:
Assembly.CoreCLR.cs

Ładuje zestaw o określonej nazwie.

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

Parametry

assemblyString
String

Długa lub krótka forma nazwy zestawu.

Zwraca

Załadowany zestaw.

Wyjątki

assemblyString to null.

assemblyString jest ciągiem o zerowej długości.

assemblyString nie można odnaleźć.

Nie można załadować pliku, który został znaleziony.

assemblyString nie jest prawidłowym zestawem dla aktualnie załadowanego środowiska uruchomieniowego.

Przykłady

Poniższy przykład ładuje zestaw, podając w pełni kwalifikowaną nazwę i wyświetla listę wszystkich typów zawartych w określonym zestawie. Aby uzyskać informacje na temat uzyskiwania w pełni kwalifikowanej nazwy zestawu, zobacz Nazwy zestawów.

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

Uwagi

Aby załadować prawidłowy zestaw, zaleca się wywołanie Load metody przez przekazanie długiej formy nazwy zestawu. Długa forma nazwy zestawu składa się z prostej nazwy (takiej jak "System" dla zestawu System.dll) wraz z wersją, kulturą, tokenem klucza publicznego i opcjonalnie architekturą procesora. Odpowiada właściwości zestawu FullName . Poniższy przykład ilustruje użycie długiej nazwy do załadowania zestawu System.dll dla programu .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 parametr jest zgłaszany, jeśli assemblyString określa pełną nazwę zestawu, a pierwszy zestaw zgodny z prostą nazwą ma inną wersję, kulturę lub token klucza publicznego. Moduł ładujący nie kontynuuje sondowania innych zestawów, które są zgodne z prostą nazwą.

W wersji 2.0 środowiska .NET Framework architektura procesora jest dodawana do tożsamości zestawu i może być określona jako część zestawu ciągu nazw. Na przykład "ProcessorArchitecture = msil". Jednak zalecanym sposobem określenia nazwy zestawu jest utworzenie AssemblyName obiektu i przekazanie go do odpowiedniego Load przeciążenia metody. Zobacz: .

Zobacz też

Dotyczy

Load(AssemblyName)

Źródło:
Assembly.CoreCLR.cs
Źródło:
Assembly.CoreCLR.cs
Źródło:
Assembly.CoreCLR.cs

Ładuje zestaw, biorąc pod uwagę jego AssemblyNamewartość .

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

Parametry

assemblyRef
AssemblyName

Obiekt opisujący zestaw do załadowania.

Zwraca

Załadowany zestaw.

Wyjątki

assemblyRef to null.

assemblyRef nie można odnaleźć.

Nie można załadować pliku, który został znaleziony.

-lub-

Tylko program .NET Framework: assemblyRef określa lokalizację wyłączoną na <podstawie parametru loadFromRemoteSources>.

Uwaga: na platformie .NET dla aplikacji ze Sklepu Windows lub biblioteki klas przenośnych przechwyć wyjątek klasy bazowej , IOExceptionzamiast tego.

assemblyRef nie jest prawidłowym zestawem dla aktualnie załadowanego środowiska uruchomieniowego.

Przykłady

Poniższy przykład tworzy wystąpienie AssemblyName obiektu i używa go do załadowania sysglobal.dll zestawu. W przykładzie zostanie wyświetlona pełna nazwa typów publicznych zestawu.

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

Uwagi

FileLoadException parametr jest zgłaszany, jeśli assemblyRef określa pełną nazwę zestawu i pierwszy zestaw, który pasuje do prostej nazwy, ma inną wersję, kulturę lub token klucza publicznego. Moduł ładujący nie kontynuuje sondowania innych zestawów, które są zgodne z prostą nazwą.

Tylko program .NET Framework: Zobacz <loadFromRemoteSources> ładowanie zestawów z lokalizacji zdalnych.

Uwaga

Tylko program .NET Framework: Nie należy używać obiektu AssemblyName z tylko zestawem CodeBase właściwości. Właściwość CodeBase nie dostarcza żadnych elementów tożsamości zestawu (takich jak nazwa lub wersja), dlatego ładowanie nie odbywa się zgodnie z regułami ładowania po tożsamości, jak można oczekiwać od Load metody . Zamiast tego zestaw jest ładowany przy użyciu reguł ładowania z. Aby uzyskać informacje o wadach korzystania z kontekstu ładowania, zobacz Assembly.LoadFrom przeciążenie metody lub najlepsze rozwiązania dotyczące ładowania zestawów.

Uwaga

Tylko program .NET Framework: Jeśli ustawiono AssemblyName.Name zarówno właściwość, jak i AssemblyName.CodeBase właściwość, pierwsza próba załadowania zestawu używa nazwy wyświetlanej (w tym wersji, kultury itd., zwróconej Assembly.FullName przez właściwość ). Jeśli plik nie zostanie znaleziony, CodeBase zostanie użyty do wyszukania zestawu. Jeśli zestaw zostanie znaleziony przy użyciu elementu CodeBase, nazwa wyświetlana jest dopasowywana do zestawu. Jeśli dopasowanie zakończy się niepowodzeniem FileLoadException , zostanie zgłoszony element .

Zobacz też

Dotyczy

Load(Byte[], Byte[])

Źródło:
Assembly.cs
Źródło:
Assembly.cs
Źródło:
Assembly.cs

Ładuje zestaw ze wspólnym obrazem opartym na formacie pliku obiektów (COFF) zawierającym emitowany zestaw, opcjonalnie włączając symbole zestawu.

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

Parametry

rawAssembly
Byte[]

Tablica bajtów, która jest obrazem w formacie COFF, zawierającym emitowany zestaw.

rawSymbolStore
Byte[]

Tablica bajtów zawierająca nieprzetworzone bajty reprezentujące symbole zestawu.

Zwraca

Załadowany zestaw.

Wyjątki

rawAssembly to null.

rawAssembly nie jest prawidłowym zestawem dla aktualnie załadowanego środowiska uruchomieniowego.

Uwagi

To przeciążenie metody zawsze tworzy nowy Assembly obiekt we własnym izolowanym kontekście ładowania.

Tylko program .NET Framework: Poziom zaufania zestawu ładowanego przy użyciu tej metody jest taki sam jak poziom zaufania zestawu wywołującego. Aby załadować zestaw z tablicy bajtów z poziomem zaufania domeny aplikacji, użyj Load(Byte[], Byte[], SecurityContextSource) przeciążenia metody. Aby uzyskać więcej informacji na temat używania dowodów z przeciążeniami Load metody, które przyjmują tablice bajtów, zobacz Load(Byte[], Byte[], Evidence) przeciążenie metody.

Dotyczy