Assembly.Load Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Načte sestavení.
Přetížení
Load(Byte[], Byte[], SecurityContextSource) |
Načte sestavení bitové kopie založené na formátu COFF (Common Object File Format), která obsahuje generované sestavení, volitelně včetně symbolů a určení zdroje pro kontext zabezpečení. |
Load(Byte[], Byte[], Evidence) |
Zastaralé.
Načte sestavení bitové kopie založené na formátu COFF (Common Object File Format), která obsahuje generované sestavení, volitelně včetně symbolů a důkazů pro sestavení. |
Load(String, Evidence) |
Zastaralé.
Načte sestavení s daným zobrazovaným názvem a pomocí poskytnutého důkazu. |
Load(AssemblyName, Evidence) |
Zastaralé.
Načte sestavení vzhledem k jeho AssemblyName. Sestavení je načteno pomocí dodaného důkazu. |
Load(Byte[]) |
Načte sestavení bitové kopie založené na formátu COFF (Common Object File Format), která obsahuje vygenerované sestavení. |
Load(String) |
Načte sestavení se zadaným názvem. |
Load(AssemblyName) |
Načte sestavení vzhledem k jeho AssemblyName. |
Load(Byte[], Byte[]) |
Načte sestavení pomocí bitové kopie založené na formátu COFF (Common Object File Format) obsahující vygenerované sestavení, volitelně včetně symbolů pro sestavení. |
Load(Byte[], Byte[], SecurityContextSource)
Načte sestavení bitové kopie založené na formátu COFF (Common Object File Format), která obsahuje generované sestavení, volitelně včetně symbolů a určení zdroje pro kontext zabezpečení.
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[]
Bajtové pole, které je bitovou kopií založenou na coff obsahující generované sestavení.
- rawSymbolStore
- Byte[]
Bajtové pole, které obsahuje nezpracované bajty představující symboly pro sestavení.
- securityContextSource
- SecurityContextSource
Zdroj kontextu zabezpečení.
Návraty
Načtení sestavení.
Výjimky
rawAssembly
je null
.
rawAssembly
není platné sestavení pro aktuálně načtený modul runtime.
Hodnota není securityContextSource
jednou z hodnot výčtu.
Poznámky
Sestavení je načteno do domény aplikace volajícího pomocí zadaného zdroje pro kontext zabezpečení. Je-li rawSymbolStore
zadán, jsou načteny také nezpracované bajty, které představují symboly pro sestavení.
Platí pro
Load(Byte[], Byte[], Evidence)
Upozornění
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.
Načte sestavení bitové kopie založené na formátu COFF (Common Object File Format), která obsahuje generované sestavení, volitelně včetně symbolů a důkazů pro sestavení.
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[]
Bajtové pole, které je bitovou kopií založenou na coff obsahující generované sestavení.
- rawSymbolStore
- Byte[]
Bajtové pole, které obsahuje nezpracované bajty představující symboly pro sestavení.
- securityEvidence
- Evidence
Důkaz pro načtení sestavení.
Návraty
Načtení sestavení.
- Atributy
Výjimky
rawAssembly
je null
.
rawAssembly
není platné sestavení pro aktuálně načtený modul runtime.
Sestavení nebo modul byly zavedeny dvakrát se dvěma různými legitimacemi.
securityEvidence
není null
. Ve výchozím nastavení starší verze cas zásady není povolen v rozhraní .NET Framework 4; pokud není povolená, securityEvidence
musí být null
.
Poznámky
Toto přetížení metody vždy vytvoří nový Assembly objekt ve vlastním kontextu izolovaného zatížení.
Sestavení je načteno pomocí dodaného důkazu. Načtou se také nezpracované bajty představující symboly pro sestavení.
To, zda jsou určitá oprávnění udělena nebo nebyla udělena sestavení, je založena na důkazech. Pravidla pro slučování prostředků sestavení a zabezpečení jsou následující:
Při použití Load metody bez Evidence parametru je sestavení načteno s důkazem, že zavaděč poskytuje.
Když použijete metodu Load s parametrem Evidence , části důkazů se sloučí. Důkazy poskytnuté jako argument Load metody nahrazují důkazy dodané zavaděčem.
Při použití Load přetížení metody s parametrem
Byte[]
k načtení image COFF je důkaz zděděna z volajícího sestavení.Když použijete metodu Load s parametrem
Byte[]
a Evidence k načtení image COFF, použije se pouze dodaný důkaz. Důkazy volajícího sestavení a důkazy image COFF jsou ignorovány.
Pokud voláte metodu Load více než jednou ve stejném sestavení, ale s jiným důkazem zadaným, modul CLR (Common Language Runtime) nevyvolá FileLoadException výjimku , protože nelze určit rovnost a integritu různých specifikací důkazů. Důkazy, které jsou první úspěšné, jsou důkazy, které jsou použity.
Platí pro
Load(String, Evidence)
Upozornění
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.
Načte sestavení s daným zobrazovaným názvem a pomocí poskytnutého důkazu.
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
Zobrazovaný název sestavení.
- assemblySecurity
- Evidence
Důkaz pro načtení sestavení.
Návraty
Načtení sestavení.
- Atributy
Výjimky
assemblyString
je null
.
assemblyString
nebyla nalezena.
assemblyString
není platné sestavení pro aktuálně načtený modul runtime.
Nalezený soubor nelze načíst.
-nebo-
Sestavení nebo modul byly zavedeny dvakrát se dvěma různými legitimacemi.
Poznámky
FileLoadException vyvolá se, pokud assemblyString
určuje úplný název sestavení a první sestavení, které odpovídá jednoduchému názvu, má jinou verzi, jazykovou verzi nebo token veřejného klíče. Zavaděč nepokračuje ve sondování pro jiná sestavení, která odpovídají jednoduchému názvu.
To, zda jsou určitá oprávnění udělena nebo nebyla udělena sestavení, je založena na důkazech. Pravidla pro slučování prostředků sestavení a zabezpečení jsou následující:
Při použití Load metody bez Evidence parametru je sestavení načteno s důkazem, že zavaděč poskytuje.
Když použijete metodu Load s parametrem Evidence , části důkazů se sloučí. Důkazy poskytnuté jako argument Load metody nahrazují důkazy dodané zavaděčem.
Použijete-li Load přetížení metody s parametrem
Byte[]
k načtení bitové kopie COFF (Common Object File Format), důkazy jsou zděděny z volajícího sestavení.Když použijete metodu Load s parametrem
Byte[]
a Evidence k načtení image COFF, použije se pouze dodaný důkaz. Důkazy o volajícím sestavení a důkazy image COFF jsou ignorovány.
Pokud voláte tuto metodu více než jednou ve stejném sestavení, ale s jiným důkazem zadaným, modul CLR (Common Language Runtime) nevyvolá FileLoadException výjimku , protože nelze určit rovnost a integritu různých specifikací důkazů. Důkazy, které jsou první úspěšné, jsou důkazy, které jsou použity.
Ve verzi 2.0 rozhraní.NET Framework je do identity sestavení přidána architektura procesoru a lze ji uvádět jako součást řetězců názvů sestavení. Příklad: "ProcessorArchitecture = msil". Doporučeným způsobem určení názvu sestavení je však vytvoření objektu AssemblyName a jeho předání příslušnému přetížení Load metody. Viz třída AssemblyName.ProcessorArchitecture.
Viz také
Platí pro
Load(AssemblyName, Evidence)
Upozornění
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.
Načte sestavení vzhledem k jeho AssemblyName. Sestavení se načte pomocí poskytnutého důkazu.
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
Objekt, který popisuje sestavení, které má být načteno.
- assemblySecurity
- Evidence
Důkaz pro načtení sestavení.
Návraty
Načtení sestavení.
- Atributy
Výjimky
assemblyRef
je null
.
assemblyRef
nebyla nalezena.
assemblyRef
není platné sestavení pro aktuálně načtený modul runtime.
Sestavení nebo modul byly zavedeny dvakrát se dvěma různými legitimacemi.
-nebo-
assemblyRef
určuje vzdálené sestavení, ale možnost spouštění kódu ve vzdálených sestaveních je zakázána. Viz <loadFromRemoteSources>.
Poznámky
FileLoadException vyvolá se, pokud assemblyRef
určuje úplný název sestavení a první sestavení, které odpovídá jednoduchému názvu, má jinou verzi, jazykovou verzi nebo token veřejného klíče. Zavaděč nepokračuje ve sondování pro jiná sestavení, která odpovídají jednoduchému názvu. Počínaje rozhraním .NET Framework 4, protože spuštění kódu ve vzdálených sestaveních je ve výchozím nastavení zakázáno, FileLoadException je vyvolán také, pokud assemblyRef
určuje vzdálené sestavení. Pokud chcete povolit spuštění kódu načteného ze vzdálených umístění, můžete použít <loadFromRemoteSources>
element konfigurace.
Poznámka
Nepoužívejte vlastnost AssemblyName pouze s nastavenou CodeBase vlastností. Vlastnost CodeBase neposkytuje žádné prvky identity sestavení (jako je název nebo verze), takže k načítání nedojde podle pravidel load-by-identity, jak byste očekávali Load od metody. Místo toho se sestavení načte pomocí pravidel načítání z. Informace o nevýhodách použití kontextu načítání z najdete v Assembly.LoadFrom tématu Přetížení metody nebo Osvědčené postupy pro načítání sestavení.
To, zda jsou nebo nejsou udělena určitá oprávnění sestavení, je založeno na důkazech. Pravidla pro slučování důkazů o sestavení a zabezpečení jsou následující:
Pokud použijete metodu Load bez Evidence parametru, sestavení je načteno s důkazy, které zavaděč poskytuje.
Když použijete metodu Load s parametrem Evidence , části důkazů se sloučí. Důkazy poskytnuté jako argument metody Load nahrazují důkazy dodané zavaděčem.
Pokud použijete Load přetížení metody s parametrem
Byte[]
k načtení image COFF (Common Object File Format), důkazy jsou zděděny z volajícího sestavení.Pokud použijete metodu Load s parametrem
Byte[]
a Evidence k načtení image COFF, použije se pouze dodaný důkaz. Důkazy o volajícím sestavení a důkaz o obrázku COFF jsou ignorovány.
Poznámka
Pokud je vlastnost i AssemblyName.NameAssemblyName.CodeBase vlastnost nastavena, při prvním pokusu o načtení sestavení se použije zobrazovaný název (včetně verze, jazykové verze atd., jak vrátí Assembly.FullName vlastnost). Pokud soubor není nalezen, CodeBase slouží k vyhledání sestavení. Pokud je sestavení nalezeno pomocí CodeBase, je zobrazovaný název porovná se sestavením. Pokud se shoda nezdaří, vyvolá se FileLoadException hodnota .
Pokud voláte metodu Load více než jednou ve stejném sestavení, ale se zadaným jiným důkazem, modul CLR (Common Language Runtime) nevyvolá FileLoadException chybu, protože nelze určit rovnost a integritu různých specifikací důkazů. Důkazy, které jsou nejprve úspěšné, jsou důkazy, které se používají.
Viz také
Platí pro
Load(Byte[])
- Zdroj:
- Assembly.cs
- Zdroj:
- Assembly.cs
- Zdroj:
- Assembly.cs
Načte sestavení s obrázkem založeným na formátu COFF (Common Object File Format), který obsahuje generované sestavení.
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[]
Bajtové pole, které je image založená na COFF obsahující generované sestavení.
Návraty
Načtení sestavení.
Výjimky
rawAssembly
je null
.
rawAssembly
není platné sestavení pro aktuálně načtený modul runtime.
Poznámky
Přetížení této metody vždy vytvoří nový Assembly objekt ve vlastním izolovaném kontextu zatížení.
Pouze rozhraní .NET Framework: Úroveň důvěryhodnosti sestavení, která je načtena pomocí této metody je stejná jako úroveň důvěryhodnosti volajícího sestavení. Pokud chcete načíst sestavení z pole bajtů s úrovní důvěryhodnosti domény aplikace, použijte Load(Byte[], Byte[], SecurityContextSource) přetížení metody. Další informace o použití důkazů s přetížením Load metody, která přebírají pole bajtů, najdete v Load(Byte[], Byte[], Evidence) tématu přetížení metody.
Platí pro
Load(String)
- Zdroj:
- Assembly.CoreCLR.cs
- Zdroj:
- Assembly.CoreCLR.cs
- Zdroj:
- Assembly.CoreCLR.cs
Načte sestavení se zadaným názvem.
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
Dlouhá nebo krátká forma názvu sestavení.
Návraty
Načtení sestavení.
Výjimky
assemblyString
je null
.
assemblyString
je řetězec nulové délky.
assemblyString
nebyl nalezen.
Nalezený soubor nelze načíst.
assemblyString
není platné sestavení pro aktuálně načtený modul runtime.
Příklady
Následující příklad načte sestavení s plně kvalifikovaným názvem a vypíše všechny typy obsažené v zadaném sestavení. Informace o tom, jak získat plně kvalifikovaný název sestavení, naleznete v tématu Názvy sestavení.
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
Poznámky
Pokud chcete načíst správné sestavení, doporučuje se volat metodu Load
předáním dlouhého tvaru názvu sestavení. Dlouhá forma názvu sestavení se skládá z jeho jednoduchého názvu (například "Systém" pro System.dll sestavení) spolu s jeho verzí, jazykovou verzí, tokenem veřejného klíče a volitelně i architekturou procesoru. Odpovídá vlastnosti sestavení FullName . Následující příklad ukazuje použití dlouhého názvu k načtení sestavení System.dll pro rozhraní .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 je vyvolán, pokud assemblyString
určuje úplný název sestavení a první sestavení, které odpovídá jednoduchému názvu, má jinou verzi, jazykovou verzi nebo token veřejného klíče. Zavaděč nepokračuje ve sondování pro jiná sestavení, která odpovídají jednoduchému názvu.
Ve verzi 2.0 rozhraní.NET Framework je do identity sestavení přidána architektura procesoru a lze ji uvádět jako součást řetězců názvů sestavení. Příklad: "ProcessorArchitecture = msil". Doporučeným způsobem, jak zadat název sestavení, je vytvořit AssemblyName objekt a předat ho Load příslušnému přetížení metody. Viz třída AssemblyName.ProcessorArchitecture.
Viz také
Platí pro
Load(AssemblyName)
- Zdroj:
- Assembly.CoreCLR.cs
- Zdroj:
- Assembly.CoreCLR.cs
- Zdroj:
- Assembly.CoreCLR.cs
Načte sestavení vzhledem k jeho 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
Objekt, který popisuje sestavení, které má být načteno.
Návraty
Načtení sestavení.
Výjimky
assemblyRef
je null
.
assemblyRef
nebyl nalezen.
Nalezený soubor nelze načíst.
-nebo-
assemblyRef
určuje vzdálené sestavení, ale možnost spouštění kódu ve vzdálených sestaveních je zakázána. Viz <loadFromRemoteSources>.
Poznámka: V .NET pro aplikace pro Windows Store nebo v přenosné knihovně tříd místo toho zachyťte výjimku IOExceptionzákladní třídy.
assemblyRef
není platné sestavení pro aktuálně načtený modul runtime.
Příklady
Následující příklad vytvoří instanci objektu AssemblyName a použije ho sysglobal.dll
k načtení sestavení. Příklad pak zobrazí úplný název veřejných typů sestavení.
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
Poznámky
FileLoadException je vyvolán, pokud assemblyRef
určuje úplný název sestavení a první sestavení, které odpovídá jednoduchému názvu, má jinou verzi, jazykovou verzi nebo token veřejného klíče. Zavaděč nepokračuje ve sondování pro jiná sestavení, která odpovídají jednoduchému názvu. Počínaje rozhraním .NET Framework 4, protože spuštění kódu ve vzdálených sestaveních je ve výchozím nastavení zakázáno, FileLoadException je vyvolán také, pokud assemblyRef
určuje vzdálené sestavení. Pokud chcete povolit spouštění kódu načteného ze vzdálených umístění, můžete použít <loadFromRemoteSources>
element configuration.
Poznámka
Nepoužívejte objekt AssemblyName pouze s nastavenou CodeBase vlastností. Vlastnost CodeBase neposkytuje žádné prvky identity sestavení (jako je název nebo verze), takže k načítání nedojde podle pravidel load-by-identity, jak byste očekávali Load od metody. Místo toho se sestavení načte pomocí pravidel načítání z. Informace o nevýhodách použití kontextu načítání z najdete v Assembly.LoadFrom tématu Přetížení metody nebo Osvědčené postupy pro načítání sestavení.
Poznámka
Pokud je vlastnost i AssemblyName.NameAssemblyName.CodeBase vlastnost nastavena, při prvním pokusu o načtení sestavení se použije zobrazovaný název (včetně verze, jazykové verze atd., jak vrátí Assembly.FullName vlastnost). Pokud soubor není nalezen, CodeBase slouží k vyhledání sestavení. Pokud je sestavení nalezeno pomocí CodeBase, je zobrazovaný název porovná se sestavením. Pokud se shoda nezdaří, vyvolá se FileLoadException hodnota .
Viz také
Platí pro
Load(Byte[], Byte[])
- Zdroj:
- Assembly.cs
- Zdroj:
- Assembly.cs
- Zdroj:
- Assembly.cs
Načte sestavení s obrázkem založeným na formátu COFF (Common Object File Format), který obsahuje generované sestavení, volitelně včetně symbolů pro sestavení.
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[]
Bajtové pole, které je image založená na COFF obsahující generované sestavení.
- rawSymbolStore
- Byte[]
Bajtové pole, které obsahuje nezpracované bajty představující symboly pro sestavení.
Návraty
Načtení sestavení.
Výjimky
rawAssembly
je null
.
rawAssembly
není platné sestavení pro aktuálně načtený modul runtime.
Poznámky
Přetížení této metody vždy vytvoří nový Assembly objekt ve vlastním izolovaném kontextu zatížení.
Pouze rozhraní .NET Framework: Úroveň důvěryhodnosti sestavení, která je načtena pomocí této metody je stejná jako úroveň důvěryhodnosti volajícího sestavení. Pokud chcete načíst sestavení z pole bajtů s úrovní důvěryhodnosti domény aplikace, použijte Load(Byte[], Byte[], SecurityContextSource) přetížení metody. Další informace o použití důkazů s přetížením Load metody, která přebírají pole bajtů, najdete v Load(Byte[], Byte[], Evidence) tématu přetížení metody.
Platí pro
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro