Assembly.Load Metoda

Definicja

Ładuje zestaw.

Przeciążenia

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

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

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

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

Load(String, Evidence)
Przestarzałe.

Ładuje zestaw pod nazwą wyświetlaną i używa dostarczonego dowodu.

Load(AssemblyName, Evidence)
Przestarzałe.

Ładuje zestaw przy użyciu elementu AssemblyName. Zestaw jest ładowany przy użyciu dostarczonych dowodów.

Load(Byte[])

Ładuje zestaw ze wspólnym obrazem opartym na pliku obiektu (COFF) zawierającym emitowany zestaw.

Load(String)

Ładuje zestaw o określonej nazwie.

Load(AssemblyName)

Ładuje zestaw przy użyciu elementu AssemblyName.

Load(Byte[], Byte[])

Ładuje zestaw przy użyciu wspólnego obrazu opartego na pliku obiektu (COFF) zawierającego emitowany zestaw, opcjonalnie w tym symbole zestawu.

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

Ładuje zestaw z obrazem opartym na formacie wspólnego pliku obiektu (COFF) zawierającym emitowany zestaw, opcjonalnie w tym 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 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 został określony, nieprzetworzone bajty reprezentujące symbole zestawu są również ł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 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 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 .NET Framework 4; jeśli nie jest włączona, securityEvidence musi być null.

Uwagi

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

Zestaw jest ładowany przy użyciu dostarczonych dowodów. Załadowano 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 dowodami, że moduł ładujący dostarcza.

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

  • W przypadku Load użycia 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 jest używany tylko dostarczony dowód. Dowody wywoływanego 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 pod nazwą wyświetlaną i używa dostarczonego dowodu.

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 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 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 dla 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 dowodami, że moduł ładujący dostarcza.

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

  • W przypadku Load użycia 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 jest używany tylko dostarczony dowód. Dowody wywoływanego zestawu i dowodów 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 przy użyciu elementu AssemblyName. 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 aktualnie załadowanego środowiska uruchomieniowego.

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

-lub-

assemblyRef określa zestaw zdalny, ale możliwość wykonywania kodu w zestawach zdalnych jest wyłączona. Zobacz <loadFromRemoteSources>.

Uwagi

FileLoadException 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 dla innych zestawów, które są zgodne z prostą nazwą. Począwszy od .NET Framework 4, ponieważ wykonywanie kodu w zestawach zdalnych jest domyślnie wyłączone, FileLoadException jest również zgłaszane, jeśli assemblyRef określa zestaw zdalny. Aby włączyć wykonywanie kodu załadowanego z lokalizacji zdalnych, można użyć <loadFromRemoteSources> elementu konfiguracji.

Uwaga

Nie należy używać elementu 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 występuje zgodnie z regułami ładowania według tożsamości, jak można oczekiwać od Load metody . Zamiast tego zestaw jest ładowany przy użyciu reguł ładowania. Aby uzyskać informacje o wadach używania obciążenia z kontekstu, 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 dowodami, że moduł ładujący dostarcza.

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

  • W przypadku Load użycia 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 jest używany tylko dostarczony dowód. Dowody wywoływanego zestawu i dowodów obrazu COFF są ignorowane.

Uwaga

AssemblyName.Name Jeśli właściwość i AssemblyName.CodeBase właściwość są ustawione, pierwsza próba załadowania zestawu używa nazwy wyświetlanej (w tym wersji, kultury itd., zwróconej przez Assembly.FullName właściwość). Jeśli plik nie zostanie znaleziony, CodeBase zostanie użyty do wyszukania zestawu. Jeśli zestaw zostanie znaleziony przy użyciu metody CodeBase, nazwa wyświetlana jest zgodna z zestawem. Jeśli dopasowanie zakończy się niepowodzeniem FileLoadException , zostanie zgłoszony błąd.

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 ze wspólnym obrazem opartym na pliku obiektu (COFF) zawierającym 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 aktualnie załadowanego środowiska uruchomieniowego.

Uwagi

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

.NET Framework tylko: poziom zaufania zestawu zał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 metody, która bierze tablice Load 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 aktualnie załadowanego środowiska uruchomieniowego.

Przykłady

Poniższy przykład ładuje zestaw pod w pełni kwalifikowaną nazwą i wyświetla listę wszystkich typów zawartych w określonym zestawie. Aby uzyskać informacje o sposobie uzyskania 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 jego prostej nazwy (takiej jak "System" dla zestawu System.dll) wraz z jego 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 .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 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 dla 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 przy użyciu elementu 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

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-

assemblyRef określa zestaw zdalny, ale możliwość wykonywania kodu w zestawach zdalnych jest wyłączona. Zobacz <loadFromRemoteSources>.

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

assemblyRef nie jest prawidłowym zestawem 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 jest zgłaszany, jeśli assemblyRef określa pełną nazwę zestawu i pierwszy zestaw zgodny z prostą nazwą ma inną wersję, kulturę lub token klucza publicznego. Moduł ładujący nie kontynuuje sondowania dla innych zestawów, które są zgodne z prostą nazwą. Począwszy od .NET Framework 4, ponieważ wykonywanie kodu w zestawach zdalnych jest domyślnie wyłączone, FileLoadException jest również zgłaszane, jeśli assemblyRef określa zestaw zdalny. Aby włączyć wykonywanie kodu załadowanego z lokalizacji zdalnych, można użyć <loadFromRemoteSources> elementu konfiguracji.

Uwaga

Nie należy używać elementu 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 występuje zgodnie z regułami ładowania według tożsamości, jak można oczekiwać od Load metody . Zamiast tego zestaw jest ładowany przy użyciu reguł ładowania. Aby uzyskać informacje o wadach używania obciążenia z kontekstu, zobacz Assembly.LoadFrom przeciążenie metody lub najlepsze rozwiązania dotyczące ładowania zestawów.

Uwaga

AssemblyName.Name Jeśli właściwość i AssemblyName.CodeBase właściwość są ustawione, pierwsza próba załadowania zestawu używa nazwy wyświetlanej (w tym wersji, kultury itd., zwróconej przez Assembly.FullName właściwość). Jeśli plik nie zostanie znaleziony, CodeBase zostanie użyty do wyszukania zestawu. Jeśli zestaw zostanie znaleziony przy użyciu metody CodeBase, nazwa wyświetlana jest zgodna z zestawem. Jeśli dopasowanie zakończy się niepowodzeniem FileLoadException , zostanie zgłoszony błąd.

Zobacz też

Dotyczy

Load(Byte[], Byte[])

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

Ładuje zestaw przy użyciu wspólnego obrazu opartego na pliku obiektu (COFF) zawierającego emitowany zestaw, opcjonalnie w tym 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 aktualnie załadowanego środowiska uruchomieniowego.

Uwagi

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

.NET Framework tylko: poziom zaufania zestawu zał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 metody, która bierze tablice Load bajtów, zobacz Load(Byte[], Byte[], Evidence) przeciążenie metody.

Dotyczy