Sdílet prostřednictvím


Assembly.LoadFrom Metoda

Definice

Načte sestavení.

Přetížení

Name Description
LoadFrom(String, Byte[], AssemblyHashAlgorithm)
Zastaralé.

Načte sestavení s názvem souboru nebo cestou, hodnotou hash a hashovacím algoritmem.

LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm)
Zastaralé.

Načte sestavení s názvem souboru nebo cestou, důkazy zabezpečení, hodnota hash a hashovací algoritmus.

LoadFrom(String)

Načte sestavení s názvem souboru nebo cestou.

LoadFrom(String, Evidence)
Zastaralé.

Načte sestavení s názvem souboru nebo cestou a poskytne bezpečnostní důkazy.

Poznámky

Pouze rozhraní .NET Framework: Viz <loadFromRemoteSources> načítání sestavení ze vzdálených umístění.

LoadFrom(String, Byte[], AssemblyHashAlgorithm)

Zdroj:
Assembly.cs
Zdroj:
Assembly.cs
Zdroj:
Assembly.cs
Zdroj:
Assembly.cs
Zdroj:
Assembly.cs

Upozornění

LoadFrom with a custom AssemblyHashAlgorithm is obsolete. Use overloads without an AssemblyHashAlgorithm.

Načte sestavení s názvem souboru nebo cestou, hodnotou hash a hashovacím algoritmem.

public:
 static System::Reflection::Assembly ^ LoadFrom(System::String ^ assemblyFile, cli::array <System::Byte> ^ hashValue, System::Configuration::Assemblies::AssemblyHashAlgorithm hashAlgorithm);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
[System.Obsolete("LoadFrom with a custom AssemblyHashAlgorithm is obsolete. Use overloads without an AssemblyHashAlgorithm.", DiagnosticId="SYSLIB0056", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public static System.Reflection.Assembly LoadFrom(string assemblyFile, byte[]? hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
public static System.Reflection.Assembly LoadFrom(string assemblyFile, byte[]? hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
public static System.Reflection.Assembly LoadFrom(string assemblyFile, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
public static System.Reflection.Assembly LoadFrom(string assemblyFile, byte[]? hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")>]
[<System.Obsolete("LoadFrom with a custom AssemblyHashAlgorithm is obsolete. Use overloads without an AssemblyHashAlgorithm.", DiagnosticId="SYSLIB0056", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
static member LoadFrom : string * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> System.Reflection.Assembly
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")>]
static member LoadFrom : string * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> System.Reflection.Assembly
static member LoadFrom : string * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> System.Reflection.Assembly
Public Shared Function LoadFrom (assemblyFile As String, hashValue As Byte(), hashAlgorithm As AssemblyHashAlgorithm) As Assembly

Parametry

assemblyFile
String

Název nebo cesta k souboru, který obsahuje manifest sestavení.

hashValue
Byte[]

Hodnota vypočítaného kódu hash.

hashAlgorithm
AssemblyHashAlgorithm

Hashovací algoritmus používaný pro hashování souborů a pro generování silného názvu.

Návraty

Načtené sestavení.

Atributy

Výjimky

Pouze .NET Core a .NET 5+ : Ve všech případech.

assemblyFile je null.

assemblyFile nebyl nalezen nebo modul, který se pokoušíte načíst, nezadá příponu názvu souboru.

Nalezený soubor nelze načíst.

nebo

assemblyFile určuje umístění, které je zakázáno na <základě loadFromRemoteSources>.

assemblyFile není platné sestavení pro aktuálně načtený modul runtime; Například 32bitové sestavení v 64bitovém procesu.

Základ kódu, který nezačíná na "file://", byl zadán bez požadovaného WebPermission.

Parametr assemblyFile je prázdný řetězec ("").

Název sestavení překračuje maximální délku definovanou systémem.

Poznámky

Toto rozhraní API není podporováno v .NET Core/.NET 5 nebo novějším. Tato metoda vyvolá NotSupportedException při zavolání. Místo toho použijte LoadFrom(String).

Parametr assemblyFile musí odkazovat na identifikátor URI bez řídicích znaků. Tato metoda poskytuje řídicí znaky pro všechny neplatné znaky v identifikátoru URI.

Poznámka:

Protokol FTP (File Transfer Protocol) není podporován. Pokud je identifikátor URI zadaný pro assemblyFile adresu FTP, sestavení se nenačte. Není vyvolána žádná výjimka.

assemblyFile může být absolutní nebo relativní k aktuálnímu adresáři.

Sestavení lze načíst do jednoho ze tří kontextů nebo je lze načíst bez kontextu:

  • Kontext načtení obsahuje sestavení nalezená pomocí sondy: v globální mezipaměti sestavení, v úložišti sestavení hostitele, pokud je modul runtime hostovaný, nebo v ApplicationBase doméně aplikace a PrivateBinPath v doméně aplikace. Většina přetížení metody Load slouží k načítání sestavení do tohoto kontextu.

  • Objekt load-from context obsahuje sestavení, pro která uživatel zadal cestu, která není zahrnuta do sondování. LoadFrom, CreateInstanceFrom a ExecuteAssembly jsou příklady metod, které se načítají podle cesty.

    Viz <loadFromRemoteSources> načítání sestavení ze vzdálených umístění.

  • Kontext pouze reflexe obsahuje sestavení načtená pomocí ReflectionOnlyLoad metod a ReflectionOnlyLoadFrom metod; kód v těchto kontextech nelze spustit.

  • Pokud uživatel vygeneroval nebo našel sestavení, není v žádném kontextu. To platí pro sestavení načtená pomocí přetížení Load metody, která určují bajtové pole obsahující sestavení, a pro přechodná dynamická sestavení vytvořená s odrazem generují a neuloží se na disk.

Načtení z kontextu umožňuje načtení sestavení z cesty, která není součástí sondy, a přesto umožňuje nalezení a načtení závislostí na této cestě, protože informace o cestě jsou udržovány kontextem.

Metoda LoadFrom má následující nevýhody. Místo toho zvažte použití Load .

  • Pokud je již načteno sestavení se stejnou identitou, LoadFrom vrátí načtené sestavení i v případě, že byla zadána jiná cesta.

  • Pokud je sestavení načteno s LoadFroma později sestavení v kontextu načtení se pokusí načíst stejné sestavení podle zobrazovaného názvu, pokus o načtení selže. K tomu může dojít při deserializaci sestavení.

  • Pokud je sestavení načteno LoadFroms a cesta sondy obsahuje sestavení se stejnou identitou, ale jiné umístění, může InvalidCastExceptionMissingMethodExceptiondojít k , nebo jinému neočekávanému chování.

  • LoadFrom požadavky FileIOPermissionAccess.Read a FileIOPermissionAccess.PathDiscovery, nebo WebPermission na zadané cestě.

  • Pokud existuje assemblyFilenativní image, nepoužívá se. Sestavení nelze načíst jako doménově neutrální.

Sestavení je načteno důkazem, že zavaděč dodává.

Platí pro

LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm)

Upozornění

This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of LoadFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

Načte sestavení s názvem souboru nebo cestou, důkazy zabezpečení, hodnota hash a hashovací algoritmus.

public:
 static System::Reflection::Assembly ^ LoadFrom(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ securityEvidence, cli::array <System::Byte> ^ hashValue, System::Configuration::Assemblies::AssemblyHashAlgorithm hashAlgorithm);
public static System.Reflection.Assembly LoadFrom(string assemblyFile, System.Security.Policy.Evidence securityEvidence, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
[System.Obsolete("This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of LoadFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Reflection.Assembly LoadFrom(string assemblyFile, System.Security.Policy.Evidence securityEvidence, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
static member LoadFrom : string * System.Security.Policy.Evidence * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> 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 LoadFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
static member LoadFrom : string * System.Security.Policy.Evidence * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> System.Reflection.Assembly
Public Shared Function LoadFrom (assemblyFile As String, securityEvidence As Evidence, hashValue As Byte(), hashAlgorithm As AssemblyHashAlgorithm) As Assembly

Parametry

assemblyFile
String

Název nebo cesta k souboru, který obsahuje manifest sestavení.

securityEvidence
Evidence

Důkaz pro načtení sestavení.

hashValue
Byte[]

Hodnota vypočítaného kódu hash.

hashAlgorithm
AssemblyHashAlgorithm

Hashovací algoritmus používaný pro hashování souborů a pro generování silného názvu.

Návraty

Načtené sestavení.

Atributy

Výjimky

assemblyFile je null.

assemblyFile nebyl nalezen nebo modul, který se pokoušíte načíst, nezadá příponu názvu souboru.

Nalezený soubor nelze načíst.

nebo

Není securityEvidence nejednoznačný a je určen jako neplatný.

nebo

assemblyFile určuje umístění, které je zakázáno na <základě loadFromRemoteSources>.

assemblyFile není platné sestavení pro aktuálně načtený modul runtime; Například 32bitové sestavení v 64bitovém procesu.

Základ kódu, který nezačíná na "file://", byl zadán bez požadovaného WebPermission.

Parametr assemblyFile je prázdný řetězec ("").

Název sestavení překračuje maximální délku definovanou systémem.

Poznámky

Parametr assemblyFile musí odkazovat na identifikátor URI bez řídicích znaků. Tato metoda poskytuje řídicí znaky pro všechny neplatné znaky v identifikátoru URI.

Poznámka:

Protokol FTP (File Transfer Protocol) není podporován. Pokud je identifikátor URI zadaný pro assemblyFile adresu FTP, sestavení se nenačte. Není vyvolána žádná výjimka.

assemblyFile může být absolutní nebo relativní k aktuálnímu adresáři.

Sestavení lze načíst do jednoho ze tří kontextů nebo je lze načíst bez kontextu:

  • Kontext zatížení obsahuje sestavení nalezená pomocí sondy: v GAC, v úložišti sestavení hostitele, pokud je modul runtime hostovaný, nebo v ApplicationBase doméně aplikace a PrivateBinPath v doméně aplikace. Většina přetížení metody Load slouží k načítání sestavení do tohoto kontextu.

  • Kontext načtení obsahuje sestavení, pro která uživatel zadal cestu, která nebyla zahrnuta v adresářích prohledáných pomocí sondy. LoadFrom, CreateInstanceFrom a ExecuteAssembly jsou příklady metod, které se načítají podle cesty.

    Viz <loadFromRemoteSources> načítání sestavení ze vzdálených umístění.

  • Kontext pouze reflexe obsahuje sestavení načtená pomocí ReflectionOnlyLoad metod a ReflectionOnlyLoadFrom metod; kód v těchto kontextech nelze spustit.

  • Pokud uživatel vygeneroval nebo našel sestavení, není v žádném kontextu. To platí pro sestavení načtená pomocí přetížení Load metody, která určují bajtové pole obsahující sestavení, a pro přechodná dynamická sestavení vytvořená s odrazem generují a neuloží se na disk.

Načtení z kontextu umožňuje načtení sestavení z cesty, která není součástí sondy, a přesto umožňuje nalezení a načtení závislostí na této cestě, protože informace o cestě jsou udržovány kontextem.

Metoda LoadFrom má následující nevýhody. Místo toho zvažte použití Load .

  • Pokud je již načteno sestavení se stejnou identitou, LoadFrom vrátí načtené sestavení i v případě, že byla zadána jiná cesta.

  • Pokud je sestavení načteno s LoadFroma později sestavení v kontextu načtení se pokusí načíst stejné sestavení podle zobrazovaného názvu, pokus o načtení selže. K tomu může dojít při deserializaci sestavení.

  • Pokud je sestavení načteno LoadFroms a cesta sondy obsahuje sestavení se stejnou identitou, ale jiné umístění, může InvalidCastExceptionMissingMethodExceptiondojít k , nebo jinému neočekávanému chování.

  • LoadFrom požadavky FileIOPermissionAccess.Read a FileIOPermissionAccess.PathDiscovery, nebo WebPermission na zadané cestě.

  • Pokud existuje assemblyFilenativní image, nepoužívá se. Sestavení nelze načíst jako neutrální doménu.

Zda jsou určitá oprávnění udělena nebo neudělena sestavení, je založeno na důkazech. Pravidla pro sloučení důkazů o sestavení a zabezpečení jsou následující:

  • Pokud použijete metodu LoadFrom bez Evidence parametru, sestavení se načte důkazem, že zavaděč dodává.

  • Při použití metody s parametrem LoadFromEvidence se sloučí části důkazů. Důkazy poskytnuté jako argument metody LoadFrom nahrazují části důkazů dodané zavaděčem.

  • Pokud tuto metodu zavoláte více než jednou ve stejném sestavení, ale s jiným důkazem zadaným, modul CLR (Common Language Runtime) vyvolá FileLoadException výjimku, protože nelze určit rovnost a integritu různých specifikací důkazů. Důkazem, že první úspěch je důkaz, který se používá.

  • Když použijete metodu LoadFrom s parametrem Byte[] k načtení běžného obrázku formátu souboru objektu (COFF), zkombinují se důkazy. Zone Url a Site jsou zděděny z volajícího sestavení a HashStrongName jsou převzaty ze sestavení COFF.

  • Pokud použijete metodu LoadFrom s parametrem Byte[] a Evidence k načtení image COFF, použije se pouze zadaný důkaz. Důkazy o volajícím sestavení a důkazu image COFF jsou ignorovány.

Platí pro

LoadFrom(String)

Zdroj:
Assembly.cs
Zdroj:
Assembly.cs
Zdroj:
Assembly.cs
Zdroj:
Assembly.cs
Zdroj:
Assembly.cs

Načte sestavení s názvem souboru nebo cestou.

public:
 static System::Reflection::Assembly ^ LoadFrom(System::String ^ assemblyFile);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
public static System.Reflection.Assembly LoadFrom(string assemblyFile);
public static System.Reflection.Assembly LoadFrom(string assemblyFile);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")>]
static member LoadFrom : string -> System.Reflection.Assembly
static member LoadFrom : string -> System.Reflection.Assembly
Public Shared Function LoadFrom (assemblyFile As String) As Assembly

Parametry

assemblyFile
String

Název nebo cesta k souboru, který obsahuje manifest sestavení.

Návraty

Načtené sestavení.

Atributy

Výjimky

assemblyFile je null.

assemblyFile nebyl nalezen nebo modul, který se pokoušíte načíst, nezadá příponu názvu souboru.

Nalezený soubor nelze načíst.

nebo

Pouze rozhraní .NET Framework: assemblyFile Určuje umístění, které je zakázáno na <základě loadFromRemoteSources>.

assemblyFile není platné sestavení pro aktuálně načtený modul runtime; Například 32bitové sestavení v 64bitovém procesu.

Základ kódu, který nezačíná na "file://", byl zadán bez požadovaného WebPermission.

Parametr assemblyFile je prázdný řetězec ("").

Název sestavení překračuje maximální délku definovanou systémem.

Příklady

Následující příklad načte sestavení s názvem souboru nebo cestou.

Assembly SampleAssembly;
SampleAssembly = Assembly.LoadFrom("c:\\Sample.Assembly.dll");
// Obtain a reference to a method known to exist in assembly.
MethodInfo Method = SampleAssembly.GetTypes()[0].GetMethod("Method1");
// Obtain a reference to the parameters collection of the MethodInfo instance.
ParameterInfo[] Params = Method.GetParameters();
// Display information about method parameters.
// Param = sParam1
//   Type = System.String
//   Position = 0
//   Optional=False
foreach (ParameterInfo Param in Params)
{
    Console.WriteLine("Param=" + Param.Name.ToString());
    Console.WriteLine("  Type=" + Param.ParameterType.ToString());
    Console.WriteLine("  Position=" + Param.Position.ToString());
    Console.WriteLine("  Optional=" + Param.IsOptional.ToString());
}
Dim SampleAssembly As [Assembly]
SampleAssembly = [Assembly].LoadFrom("c:\Sample.Assembly.dll")
' Obtain a reference to a method known to exist in assembly.
Dim Method As MethodInfo = SampleAssembly.GetTypes()(0).GetMethod("Method1")
' Obtain a reference to the parameters collection of the MethodInfo instance.
Dim Params As ParameterInfo() = Method.GetParameters()
' Display information about method parameters.
' Param = sParam1
'   Type = System.String
'   Position = 0
'   Optional=False
For Each Param As ParameterInfo In Params
    Console.WriteLine(("Param=" + Param.Name.ToString()))
    Console.WriteLine(("  Type=" + Param.ParameterType.ToString()))
    Console.WriteLine(("  Position=" + Param.Position.ToString()))
    Console.WriteLine(("  Optional=" + Param.IsOptional.ToString()))
Next

Poznámky

Toto rozhraní API je k dispozici v .NET Core kvůli kompatibilitě, ale doporučuje se místo toho použít AssemblyLoadContext přetížení.

Sestavení se načte do výchozího AssemblyLoadContextu. Další informace o načítání sestavení naleznete v tématu Spravovaný algoritmus načítání sestavení.

Parametr assemblyFile musí odkazovat na identifikátor URI bez řídicích znaků. Tato metoda poskytuje řídicí znaky pro všechny neplatné znaky v identifikátoru URI.

Poznámka:

Pouze rozhraní .NET Framework: Protokol FTP (File Transfer Protocol) není podporován. Pokud je identifikátor URI zadaný pro assemblyFile adresu FTP, sestavení se nenačte. Není vyvolána žádná výjimka.

assemblyFile může být absolutní nebo relativní k aktuálnímu adresáři.

Pouze rozhraní .NET Framework: Sestavení lze načíst do jednoho ze tří kontextů nebo je lze načíst bez kontextu:

  • Kontext zatížení obsahuje sestavení nalezená pomocí sondy: v GAC, v úložišti sestavení hostitele, pokud je modul runtime hostovaný, nebo v ApplicationBase doméně aplikace a PrivateBinPath v doméně aplikace. Většina přetížení metody Load slouží k načítání sestavení do tohoto kontextu.

  • Kontext načtení obsahuje sestavení, pro která uživatel zadal cestu, která nebyla zahrnuta v adresářích prohledáných pomocí sondy. Umožňuje také nalezení a načtení závislostí na této cestě, protože informace o cestě jsou udržovány kontextem. LoadFrom, CreateInstanceFrom a ExecuteAssembly jsou příklady metod, které se načítají podle cesty.

    Viz <loadFromRemoteSources> načítání sestavení ze vzdálených umístění.

  • Kontext pouze reflexe obsahuje sestavení načtená pomocí ReflectionOnlyLoad metod a ReflectionOnlyLoadFrom metod; kód v těchto kontextech nelze spustit.

  • Pokud uživatel vygeneroval nebo našel sestavení, není v žádném kontextu. To platí pro sestavení načtená pomocí přetížení Load metody, která určují bajtové pole obsahující sestavení, a pro přechodná dynamická sestavení vytvořená s odrazem generují a neuloží se na disk.

Metoda LoadFrom má následující nevýhody. Místo toho zvažte použití Load .

  • Pokud je sestavení se stejnou identitou již načteno v kontextu načtení z kontextu, LoadFrom vrátí načtené sestavení i v případě, že byla zadána jiná cesta.

  • Sestavení lze načíst v kontextu načítání, i když sestavení se stejnou identitou existuje v kontextu načítání. Interoperabilita mezi dvěma sestaveními nebude fungovat, což vede k chybám, jako InvalidCastExceptionje , MissingMethodExceptionnebo jiné neočekávané chování.

  • Volání LoadFrom s umístěním, které je ve zkušební cestě, načte sestavení v kontextu zatížení, a ne v kontextu načítání.

  • Pokud je předán LoadFromsoubor sestavení, jehož identita je předána zásadou přesměrování vazby , zásada se použije a sestavení se načte z cesty probírání v kontextu načtení.

  • Pokud se sestavení načte v kontextu načítání a později se sestavení v kontextu načtení pokusí načíst stejné sestavení podle zobrazovaného názvu, pokus o načtení selže. K tomu může dojít při deserializaci sestavení.

  • LoadFrom požadavky FileIOPermissionAccess.Read a FileIOPermissionAccess.PathDiscovery, nebo WebPermission na zadané cestě.

  • Pokud existuje assemblyFilenativní image, nepoužívá se. Sestavení nelze načíst jako neutrální doménu.

Platí pro

LoadFrom(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 LoadFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

Načte sestavení s názvem souboru nebo cestou a poskytne bezpečnostní důkazy.

public:
 static System::Reflection::Assembly ^ LoadFrom(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ securityEvidence);
public static System.Reflection.Assembly LoadFrom(string assemblyFile, 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 LoadFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Reflection.Assembly LoadFrom(string assemblyFile, System.Security.Policy.Evidence securityEvidence);
static member LoadFrom : 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 LoadFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
static member LoadFrom : string * System.Security.Policy.Evidence -> System.Reflection.Assembly
Public Shared Function LoadFrom (assemblyFile As String, securityEvidence As Evidence) As Assembly

Parametry

assemblyFile
String

Název nebo cesta k souboru, který obsahuje manifest sestavení.

securityEvidence
Evidence

Důkaz pro načtení sestavení.

Návraty

Načtené sestavení.

Atributy

Výjimky

assemblyFile je null.

assemblyFile nebyl nalezen nebo modul, který se pokoušíte načíst, nezadá příponu názvu souboru.

Nalezený soubor nelze načíst.

nebo

Není securityEvidence nejednoznačný a je určen jako neplatný.

nebo

assemblyFile určuje umístění, které je zakázáno na <základě loadFromRemoteSources>.

assemblyFile není platné sestavení pro aktuálně načtený modul runtime; Například 32bitové sestavení v 64bitovém procesu.

Základ kódu, který nezačíná na "file://", byl zadán bez požadovaného WebPermission.

Parametr assemblyFile je prázdný řetězec ("").

Název sestavení překračuje maximální délku definovanou systémem.

Poznámky

Parametr assemblyFile musí odkazovat na identifikátor URI bez řídicích znaků. Tato metoda poskytuje řídicí znaky pro všechny neplatné znaky v identifikátoru URI.

Poznámka:

Protokol FTP (File Transfer Protocol) není podporován. Pokud je identifikátor URI zadaný pro assemblyFile adresu FTP, sestavení se nenačte. Není vyvolána žádná výjimka.

assemblyFile může být absolutní nebo relativní k aktuálnímu adresáři.

Sestavení lze načíst do jednoho ze tří kontextů nebo je lze načíst bez kontextu:

  • Kontext zatížení obsahuje sestavení nalezená pomocí sondy: v GAC, v úložišti sestavení hostitele, pokud je modul runtime hostovaný, nebo v ApplicationBase doméně aplikace a PrivateBinPath v doméně aplikace. Většina přetížení metody Load slouží k načítání sestavení do tohoto kontextu.

  • Kontext načtení obsahuje sestavení, pro která uživatel zadal cestu, která nebyla zahrnuta v adresářích prohledáných pomocí sondy. LoadFrom, CreateInstanceFrom a ExecuteAssembly jsou příklady metod, které se načítají podle cesty.

    Viz <loadFromRemoteSources> načítání sestavení ze vzdálených umístění.

  • Kontext pouze reflexe obsahuje sestavení načtená pomocí ReflectionOnlyLoad metod a ReflectionOnlyLoadFrom metod; kód v těchto kontextech nelze spustit.

  • Pokud uživatel vygeneroval nebo našel sestavení, není v žádném kontextu. To platí pro sestavení načtená pomocí přetížení Load metody, která určují bajtové pole obsahující sestavení, a pro přechodná dynamická sestavení vytvořená s odrazem generují a neuloží se na disk.

Načtení z kontextu umožňuje načtení sestavení z cesty, která není součástí sondy, a přesto umožňuje nalezení a načtení závislostí na této cestě, protože informace o cestě jsou udržovány kontextem.

Metoda LoadFrom má následující nevýhody. Místo toho zvažte použití Load .

  • Pokud je již načteno sestavení se stejnou identitou, LoadFrom vrátí načtené sestavení i v případě, že byla zadána jiná cesta.

  • Pokud je sestavení načteno s LoadFroma později sestavení v kontextu načtení se pokusí načíst stejné sestavení podle zobrazovaného názvu, pokus o načtení selže. K tomu může dojít při deserializaci sestavení.

  • Pokud je sestavení načteno LoadFroms a cesta sondy obsahuje sestavení se stejnou identitou, ale jiné umístění, může InvalidCastExceptionMissingMethodExceptiondojít k , nebo jinému neočekávanému chování.

  • LoadFrom požadavky FileIOPermissionAccess.Read a FileIOPermissionAccess.PathDiscovery, nebo WebPermission na zadané cestě.

  • Pokud existuje assemblyFilenativní image, nepoužívá se. Sestavení nelze načíst jako neutrální doménu.

Zda jsou určitá oprávnění udělena nebo neudělena sestavení, je založeno na důkazech. Pravidla pro sloučení důkazů o sestavení a zabezpečení jsou následující:

  • Pokud použijete metodu LoadFrom bez Evidence parametru, sestavení se načte důkazem, že zavaděč dodává.

  • Při použití metody s parametrem LoadFromEvidence se sloučí části důkazů. Důkazy poskytnuté jako argument metody LoadFrom nahrazují části důkazů dodané zavaděčem.

  • Pokud tuto metodu zavoláte více než jednou ve stejném sestavení, ale s jiným důkazem zadaným, modul CLR (Common Language Runtime) vyvolá FileLoadException výjimku, protože nelze určit rovnost a integritu různých specifikací důkazů. Důkazem, že první úspěch je důkaz, který se používá.

  • Když použijete metodu LoadFrom s parametrem Byte[] k načtení běžného obrázku formátu souboru objektu (COFF), zkombinují se důkazy. Zone Url a Site jsou zděděny z volajícího sestavení a HashStrongName jsou převzaty ze sestavení COFF.

  • Pokud použijete metodu LoadFrom s parametrem Byte[] a Evidence k načtení image COFF, použije se pouze zadaný důkaz. Důkazy o volajícím sestavení a důkazu image COFF jsou ignorovány.

Viz také

Platí pro