Assembly.LoadFrom Metoda

Definice

Načte sestavení.

Přetížení

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

Načte sestavení s názvem souboru nebo cestou, bezpečnostními důkazy, hodnotou hash a hashovacím algoritmem.

LoadFrom(String, Byte[], AssemblyHashAlgorithm)

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

LoadFrom(String)

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

LoadFrom(String, Evidence)
Zastaralé.
Zastaralé.

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

Poznámky

Počínaje rozhraním .NET Framework 4 je ve výchozím nastavení zakázaná možnost spouštění kódu v sestaveních načtených ze vzdálených umístění a volání LoadFrom metody vyvolá FileLoadExceptionchybu . Pokud chcete načíst sestavení a spustit jeho kód, musíte provést následující:

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.

Upozornění

Toto rozhraní API je teď zastaralé.

Načte sestavení s názvem souboru nebo cestou, bezpečnostními důkazy, hodnotou hash a hashovacím algoritmem.

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);
[System.Obsolete]
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
[<System.Obsolete>]
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 souboru, který obsahuje manifest sestavení.

securityEvidence
Evidence

Důkaz pro načtení sestavení.

hashValue
Byte[]

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

hashAlgorithm
AssemblyHashAlgorithm

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

Návraty

Assembly

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.

Soubor, který byl nalezen, nelze načíst.

-nebo-

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

-nebo-

Možnost spouštění kódu ve vzdálených sestaveních je zakázaná. Viz <loadFromRemoteSources>.

assemblyFile není platné sestavení; Například 32bitové sestavení v 64bitovém procesu. Další informace najdete v tématu výjimky.

-nebo-

Verze 2.0 nebo novější modulu CLR (Common Language Runtime) je aktuálně načtena a assemblyFile zkompilována s novější verzí.

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) se nepodporuje. Pokud je identifikátor URI zadaný pro assemblyFile adresu FTP, sestavení se nenačte. Žádná výjimka se nevyvolá.

assemblyFile může být absolutní nebo relativní k aktuálnímu adresáři a sestavení se načte do domény volajícího.

Sestavení je možné načíst do jednoho ze tří kontextů nebo 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í Load sestavení metody načítá do tohoto kontextu.

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

    Počínaje rozhraním .NET Framework 4, pokud identifikátor URI assemblyFile určuje vzdálené umístění, je načítání sestavení ve výchozím nastavení zakázané a LoadFrom metoda vyvolá FileLoadException. Pokud chcete povolit spouštění kódu načteného ze vzdálených umístění, můžete použít <loadFromRemoteSources> konfigurační prvek.

  • Kontext jen pro reflexi obsahuje sestavení načtená s metodami ReflectionOnlyLoad a ReflectionOnlyLoadFrom 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 reflexí generují a neukládají se na disk.

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

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

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

  • Pokud je sestavení načteno a LoadFrompozdě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, když je sestavení deserializováno.

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

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

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

  • V rozhraní .NET Framework verze 1.0 a 1.1 se zásady nepoužijí.

Jestli jsou určitá oprávnění udělena nebo nejsou udělena sestavení, je založena 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 s důkazem, že zavaděč dodává.

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

  • Pokud tuto metodu voláte vícekrát ve stejném sestavení, ale s jiným zadaným důkazem, modul CLR (Common Language Runtime) nevyvolá FileLoadException , 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á.

  • Při použití LoadFrom metody s parametrem Byte[] k načtení společné image formátu souboru objektu (COFF) se důkazy zkombinují. Zonea Url Site jsou zděděny z volajícího sestavení a Hash StrongName 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 se ignorují.

Platí pro

LoadFrom(String, Byte[], 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);
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);
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 souboru, který obsahuje manifest sestavení.

hashValue
Byte[]

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

hashAlgorithm
AssemblyHashAlgorithm

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

Návraty

Assembly

Načtení sestavení.

Výjimky

assemblyFile je null.

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

Soubor, který byl nalezen, nelze načíst.

-nebo-

Možnost spouštění kódu ve vzdálených sestaveních je zakázaná. Viz <loadFromRemoteSources>.

assemblyFile není platné sestavení; Například 32bitové sestavení v 64bitovém procesu. Další informace najdete v tématu výjimky.

-nebo-

assemblyFile byla zkompilována s novější verzí modulu CLR (Common Language Runtime), než je aktuálně načtená verze.

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) se nepodporuje. Pokud je identifikátor URI zadaný pro assemblyFile adresu FTP, sestavení se nenačte. Žádná výjimka se nevyvolá.

assemblyFile může být absolutní nebo relativní k aktuálnímu adresáři a sestavení se načte do domény volajícího.

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

  • Kontext načítání 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í Load sestavení metody načítá do tohoto kontextu.

  • Kontext load-from obsahuje sestavení, pro která uživatel zadal cestu, která není součástí probírání. LoadFrom, CreateInstanceFroma ExecuteAssembly jsou příklady metod, které se načítají podle cesty.

    Počínaje rozhraním .NET Framework 4, pokud identifikátor URI assemblyFile určuje vzdálené umístění, je načítání sestavení ve výchozím nastavení zakázané a LoadFrom metoda vyvolá FileLoadException. Pokud chcete povolit spouštění kódu načteného ze vzdálených umístění, můžete použít <loadFromRemoteSources> konfigurační prvek.

  • Kontext jen pro reflexi obsahuje sestavení načtená s metodami ReflectionOnlyLoad a ReflectionOnlyLoadFrom 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 reflexí generují a neukládají se na disk.

Načtení z kontextu umožňuje načtení sestavení z cesty, která není součástí probírání, 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. Zvažte místo toho použití Load .

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

  • Pokud je sestavení načteno a LoadFrompozdě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, když je sestavení deserializováno.

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

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

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

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

Platí pro

LoadFrom(String)

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

public:
 static System::Reflection::Assembly ^ LoadFrom(System::String ^ assemblyFile);
public static System.Reflection.Assembly LoadFrom (string assemblyFile);
static member LoadFrom : string -> System.Reflection.Assembly
Public Shared Function LoadFrom (assemblyFile As String) As Assembly

Parametry

assemblyFile
String

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

Návraty

Assembly

Načtení sestavení.

Výjimky

assemblyFile je null.

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

Soubor, který byl nalezen, nelze načíst.

-nebo-

Možnost spouštění kódu ve vzdálených sestaveních je zakázaná. Viz <loadFromRemoteSources>.

assemblyFile není platné sestavení; Například 32bitové sestavení v 64bitovém procesu. Další informace najdete v tématu výjimky.

-nebo-

Verze 2.0 nebo novější modulu CLR (Common Language Runtime) je aktuálně načtena a assemblyFile zkompilována s novější verzí.

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.
array<ParameterInfo^>^ Params = Method->GetParameters();
// Display information about method parameters.
// Param = sParam1
//   Type = System::String
//   Position = 0
//   Optional=False
for each ( ParameterInfo^ Param in Params )
{
   Console::WriteLine( "Param= {0}", Param->Name );
   Console::WriteLine( "  Type= {0}", Param->ParameterType );
   Console::WriteLine( "  Position= {0}", Param->Position );
   Console::WriteLine( "  Optional= {0}", Param->IsOptional );
}
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

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) se nepodporuje. Pokud je identifikátor URI zadaný pro assemblyFile adresu FTP, sestavení se nenačte. Žádná výjimka se nevyvolá.

assemblyFile může být absolutní nebo relativní k aktuálnímu adresáři a sestavení se načte do domény volajícího.

Sestavení je možné načíst do jednoho ze tří kontextů nebo 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í Load sestavení metody načítá do tohoto kontextu.

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

    Počínaje rozhraním .NET Framework 4, pokud identifikátor URI assemblyFile určuje vzdálené umístění, je načítání sestavení ve výchozím nastavení zakázané a LoadFrom metoda vyvolá FileLoadException. Pokud chcete povolit spouštění kódu načteného ze vzdálených umístění, můžete použít <loadFromRemoteSources> konfigurační prvek.

  • Kontext jen pro reflexi obsahuje sestavení načtená s metodami ReflectionOnlyLoad a ReflectionOnlyLoadFrom 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 reflexí generují a neukládají se na disk.

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

Metoda LoadFrom má následující nevýhody. Zvažte místo toho 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 do kontextu načtení z kontextu, 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 InvalidCastExceptionjsou , MissingMethodExceptionnebo jiné neočekávané chování.

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

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

  • Pokud se sestavení načte do kontextu načtení 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, když je sestavení deserializováno.

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

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

  • V rozhraní .NET Framework verze 1.0 a 1.1 se zásady nepoužijí.

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.

Upozornění

Toto rozhraní API je teď zastaralé.

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);
[System.Obsolete]
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
[<System.Obsolete>]
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 souboru, který obsahuje manifest sestavení.

securityEvidence
Evidence

Důkaz pro načtení sestavení.

Návraty

Assembly

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.

Soubor, který byl nalezen, nelze načíst.

-nebo-

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

-nebo-

Možnost spouštění kódu ve vzdálených sestaveních je zakázaná. Viz <loadFromRemoteSources>.

assemblyFile není platné sestavení; Například 32bitové sestavení v 64bitovém procesu. Další informace najdete v tématu výjimky.

-nebo-

Verze 2.0 nebo novější modulu CLR (Common Language Runtime) je aktuálně načtena a assemblyFile zkompilována s novější verzí.

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) se nepodporuje. Pokud je identifikátor URI zadaný pro assemblyFile adresu FTP, sestavení se nenačte. Žádná výjimka se nevyvolá.

assemblyFile může být absolutní nebo relativní k aktuálnímu adresáři a sestavení se načte do domény volajícího.

Sestavení je možné načíst do jednoho ze tří kontextů nebo 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í Load sestavení metody načítá do tohoto kontextu.

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

    Počínaje rozhraním .NET Framework 4, pokud identifikátor URI assemblyFile určuje vzdálené umístění, je načítání sestavení ve výchozím nastavení zakázané a LoadFrom metoda vyvolá FileLoadException. Pokud chcete povolit spouštění kódu načteného ze vzdálených umístění, můžete použít <loadFromRemoteSources> konfigurační prvek.

  • Kontext jen pro reflexi obsahuje sestavení načtená s metodami ReflectionOnlyLoad a ReflectionOnlyLoadFrom 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 reflexí generují a neukládají se na disk.

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

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

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

  • Pokud je sestavení načteno a LoadFrompozdě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, když je sestavení deserializováno.

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

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

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

  • V rozhraní .NET Framework verze 1.0 a 1.1 se zásady nepoužijí.

Jestli jsou určitá oprávnění udělena nebo nejsou udělena sestavení, je založena 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 s důkazem, že zavaděč dodává.

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

  • Pokud tuto metodu voláte vícekrát ve stejném sestavení, ale s jiným zadaným důkazem, modul CLR (Common Language Runtime) nevyvolá FileLoadException , 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á.

  • Při použití LoadFrom metody s parametrem Byte[] k načtení společné image formátu souboru objektu (COFF) se důkazy zkombinují. Zonea Url Site jsou zděděny z volajícího sestavení a Hash StrongName 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 se ignorují.

Viz také

Platí pro