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 algoritmem hash.

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 důkazy zabezpečení.

Poznámky

Počínaje .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ává příponu názvu souboru.

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

-nebo-

Není securityEvidence nejednoznačné a je určeno, že je 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čtená 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 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í Load sestavení metody načte do tohoto kontextu.

  • Load-from context 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é načítají podle cesty.

    Počínaje .NET Framework 4, pokud identifikátor URI assemblyFile určuje vzdálené umístění, načtení sestavení je 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 ReflectionOnlyLoad metodami a ReflectionOnlyLoadFrom metodami. 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 na přechodná dynamická sestavení vytvořená s generováním odrazu a neuložená 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, vrátí načtené sestavení i LoadFrom v případě, že byla zadána jiná cesta.

  • Pokud se sestavení načte 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 probing obsahuje sestavení se stejnou identitou, ale jiné umístění, může InvalidCastExceptionMissingMethodExceptiondojít k jinému nebo jinému neočekávanému chování.

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

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

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

Zda jsou určitá oprávnění udělena nebo nejsou udělena sestavení, jsou založena na důkazech. Pravidla slučování sestav a bezpečnostních důkazů 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í LoadFrom metody s parametrem Evidence se sloučí části důkazů. Kusy důkazů poskytnuté jako argument metody LoadFrom nahrazují části důkazů poskytnuté zavaděčem.

  • Pokud tuto metodu zavoláte vícekrát na stejném sestavení, ale s jiným důkazem zadaným, 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í běžného obrázku formátu souboru objektu (COFF) se důkazy zkombinují. Zonea Url Site dědí se 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 shromáždění 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 algoritmem hash.

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 byl zkompilován 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 je 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čte do tohoto kontextu.

  • Načtení z kontextu obsahuje sestavení, pro která uživatel zadal cestu, která není součástí probírání. LoadFrom, CreateInstanceFroma ExecuteAssembly jsou příklady metod, které načítají podle cesty.

    Počínaje .NET Framework 4, pokud identifikátor URI assemblyFile určuje vzdálené umístění, načtení sestavení je 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 ReflectionOnlyLoad metodami a ReflectionOnlyLoadFrom metodami. 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 na přechodná dynamická sestavení vytvořená s generováním odrazu a neuložená na disk.

Načtení 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, vrátí načtené sestavení i LoadFrom v případě, že byla zadána jiná cesta.

  • Pokud se sestavení načte 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 probing obsahuje sestavení se stejnou identitou, ale jiné umístění, může InvalidCastExceptionMissingMethodExceptiondojít k jinému nebo jinému neočekávanému chování.

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

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

Sestavení je načteno důkazem, ž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ává 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čtená 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 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í Load sestavení metody načte do tohoto kontextu.

  • Load-from context 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é načítají podle cesty.

    Počínaje .NET Framework 4, pokud identifikátor URI assemblyFile určuje vzdálené umístění, načtení sestavení je 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 ReflectionOnlyLoad metodami a ReflectionOnlyLoadFrom metodami. 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 na přechodná dynamická sestavení vytvořená s generováním odrazu a neuložená 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 v kontextu načítání, vrátí načtené sestavení i LoadFrom v případě, že byla zadána jiná cesta.

  • Sestavení lze načíst do 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 jsou InvalidCastException, MissingMethodExceptionnebo jiné neočekávané chování.

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

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

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

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

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

  • V .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 důkazy zabezpečení.

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ává příponu názvu souboru.

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

-nebo-

Není securityEvidence nejednoznačné a je určeno, že je 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čtená 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 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í Load sestavení metody načte do tohoto kontextu.

  • Load-from context 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é načítají podle cesty.

    Počínaje .NET Framework 4, pokud identifikátor URI assemblyFile určuje vzdálené umístění, načtení sestavení je 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 ReflectionOnlyLoad metodami a ReflectionOnlyLoadFrom metodami. 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 na přechodná dynamická sestavení vytvořená s generováním odrazu a neuložená 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, vrátí načtené sestavení i LoadFrom v případě, že byla zadána jiná cesta.

  • Pokud se sestavení načte 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 probing obsahuje sestavení se stejnou identitou, ale jiné umístění, může InvalidCastExceptionMissingMethodExceptiondojít k jinému nebo jinému neočekávanému chování.

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

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

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

Zda jsou určitá oprávnění udělena nebo nejsou udělena sestavení, jsou založena na důkazech. Pravidla slučování sestav a bezpečnostních důkazů 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í LoadFrom metody s parametrem Evidence se sloučí části důkazů. Kusy důkazů poskytnuté jako argument metody LoadFrom nahrazují části důkazů poskytnuté zavaděčem.

  • Pokud tuto metodu zavoláte vícekrát na stejném sestavení, ale s jiným důkazem zadaným, 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í běžného obrázku formátu souboru objektu (COFF) se důkazy zkombinují. Zonea Url Site dědí se 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 shromáždění a důkazu image COFF se ignorují.

Viz také

Platí pro