Assembly.LoadFrom 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í
LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm) |
Zastaralé.
Načte sestavení na základě názvu souboru nebo cesty, důkazu zabezpečení, hodnoty hash a hashovacího algoritmu. |
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 nebo cestou k souboru. |
LoadFrom(String, Evidence) |
Zastaralé.
Načte sestavení s názvem souboru nebo cestou a poskytující důkazy zabezpečení. |
Poznámky
Pouze rozhraní .NET Framework: Viz <loadFromRemoteSources>
načítání sestavení ze vzdálených umístění.
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í na základě názvu souboru nebo cesty, důkazu zabezpečení, hodnoty hash a hashovacího algoritmu.
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 hashového kódu.
- 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
nebyla nalezena nebo modul, který se pokoušíte načíst, neurčuje 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 WebPermissionznaku .
Parametr assemblyFile
je prázdný řetězec ("").
Název sestavení přesahuje 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í vzhledem k aktuálnímu adresáři.
Sestavení mohou být načtena do jednoho ze tří kontextů nebo mohou být načtena bez kontextu:
Kontext načtení obsahuje sestavení zjištěných sondou: v globální mezipaměti GAC, v úložišti sestavení hostitele, pokud je modul runtime hostovaný, nebo v ApplicationBase doméně PrivateBinPath a aplikace. Většina přetížení metody načítá Load sestavení do tohoto kontextu.
Kontext načítání obsahuje sestavení, pro která uživatel zadal cestu, která není zahrnuta v adresářích prohledána sondou. LoadFrom, CreateInstanceFroma 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 jen pro reflexi obsahuje sestavení načtená pomocí ReflectionOnlyLoad metod 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í pole bajtů obsahující sestavení, a pro přechodná dynamická sestavení vytvořená s odrazem emitují a neukládají se na disk.
Kontext načítání umožňuje načtení sestavení z cesty, která není zahrnuta do sondová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 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 pomocí LoadFroma později se sestavení v kontextu načtení pokusí načíst stejné sestavení podle zobrazovaného názvu, pokus o načtení se nezdaří. K tomu může dojít při deserializaci sestavení.
Pokud je sestavení načteno s LoadFroma cesta sondy obsahuje sestavení se stejnou identitou, ale v jiném umístění, může dojít k neočekávanému InvalidCastExceptionchování , MissingMethodExceptionnebo jinému neočekávanému chování.
LoadFrom požadavky FileIOPermissionAccess.Read a FileIOPermissionAccess.PathDiscovery, nebo WebPermissionna zadané cestě.
Pokud nativní bitová kopie pro
assemblyFile
existuje, nepoužívá se. Sestavení nelze načíst jako doménově neutrální.
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í LoadFrom metody bez Evidence parametru je sestavení načteno s důkazem, že zavaděč poskytuje.
Když použijete metodu LoadFrom s parametrem Evidence , části důkazů se sloučí. Důkazy poskytnuté jako argument LoadFrom metody nahrazují důkazy dodané zavaděčem.
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.
Když použijete metodu LoadFrom s parametrem
Byte[]
k načtení obrázku COFF (Common Object File Format), důkazy se zkombinují.Zone
,Url
aSite
jsou zděděny z volajícího sestavení aHash
aStrongName
jsou převzaty ze sestavení COFF.Když použijete metodu LoadFrom 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.
Platí pro
LoadFrom(String, Byte[], AssemblyHashAlgorithm)
- Zdroj:
- Assembly.cs
- Zdroj:
- Assembly.cs
- Zdroj:
- Assembly.cs
Načte sestavení s názvem nebo cestou souboru, 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 k souboru, který obsahuje manifest sestavení.
- hashValue
- Byte[]
Hodnota vypočítaného hashového kódu.
- hashAlgorithm
- AssemblyHashAlgorithm
Hashovací algoritmus používaný pro hashování souborů a pro generování silného názvu.
Návraty
Načtení sestavení.
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, neurčuje 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 WebPermissionznaku .
Parametr assemblyFile
je prázdný řetězec ("").
Název sestavení přesahuje maximální délku definovanou systémem.
Poznámky
V .NET Core a .NET 5+, 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) 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í vzhledem k aktuálnímu adresáři.
Sestavení mohou být načtena do jednoho ze tří kontextů nebo mohou být načtena bez kontextu:
Kontext načtení obsahuje sestavení nalezená sondou: v globální mezipaměti sestavení (GPA), v úložišti hostitelských sestavení (pokud je modul runtime hostovaný) nebo v ApplicationBase doméně aplikace a PrivateBinPath . Většina přetížení metody načítá Load sestavení do tohoto kontextu.
Kontext načítání obsahuje sestavení, pro která uživatel zadal cestu, která není zahrnuta do sondování. LoadFrom, CreateInstanceFroma 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 jen pro reflexi obsahuje sestavení načtená pomocí ReflectionOnlyLoad metod 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í pole bajtů obsahující sestavení, a pro přechodná dynamická sestavení vytvořená s odrazem emitují a neukládají se na disk.
Kontext load-from umožňuje načtení sestavení z cesty, která není zahrnuta do sondová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 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 se sestavení v kontextu načítání 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 s LoadFroma cesta ke sondování obsahuje sestavení se stejnou identitou, ale s jiným umístěnímInvalidCastExceptionMissingMethodException, může dojí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 nativní image existuje pro
assemblyFile
, nepoužije se. Sestavení nelze načíst jako neutrální z domény.
Sestava je zatížena důkazem, že nakladač dodává.
Platí pro
LoadFrom(String)
- 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);
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 k souboru, který obsahuje manifest sestavení.
Návraty
Načtení sestavení.
Výjimky
assemblyFile
je null
.
assemblyFile
nebyl nalezen nebo modul, který se pokoušíte načíst, neurčuje 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 WebPermissionznaku .
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í vzhledem 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í zjištěných sondováním: v GAC, v úložišti sestavení hostitele, pokud je hostovaný modul runtime, nebo v ApplicationBasePrivateBinPath doméně a aplikace. Většina přetížení metody načítá Load sestavení do tohoto kontextu.
Kontext load-from obsahuje sestavení, pro která uživatel zadal cestu, která není zahrnuta v adresářích hledaných sondou. Umožňuje také najít a načíst závislosti na této cestě, protože informace o cestě uchovává kontext. LoadFrom, CreateInstanceFroma ExecuteAssembly jsou příklady metod, které se načítají podle cesty.
Viz
<loadFromRemoteSources>
informace o načítání sestavení ze vzdálených umístění.Kontext jen pro reflexi obsahuje sestavení načtená 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í pole bajtů obsahující sestavení, a přechodná dynamická sestavení vytvořená s odrazem emitovat a neukládat na disk.
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í z, LoadFrom vrátí načtené sestavení i v případě, že byla zadána jiná cesta.
Sestavení může být načteno v kontextu načítání, i když v kontextu zatížení existuje sestavení se stejnou identitou. Interoperabilita mezi dvěma sestaveními nebude fungovat, což vede k chybám, jako InvalidCastExceptionje , MissingMethodExceptionnebo jinému neočekávanému chování.
Volání LoadFrom s umístěním, které je ve zkoumací cestě, načte sestavení v kontextu zatížení, a ne v kontextu načítání z.
Pokud je soubor sestavení, jehož identita je goverened zásadou přesměrování vazby , LoadFromzásada se použije a sestavení se načte ze sondovací cesty v kontextu zatížení.
Pokud je sestavení načteno 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 nativní image existuje pro
assemblyFile
, nepoužije se. Sestavení nelze načíst jako neutrální z domény.
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 poskytující 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);
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, neurčuje příponu názvu souboru.
Nalezený soubor nelze načíst.
-nebo-
Hodnota securityEvidence
není nejednoznačná a je určena 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 WebPermissionznaku .
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í vzhledem 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í zjištěných sondováním: v GAC, v úložišti sestavení hostitele, pokud je hostovaný modul runtime, nebo v ApplicationBasePrivateBinPath doméně a aplikace. Většina přetížení metody načítá Load sestavení do tohoto kontextu.
Kontext load-from obsahuje sestavení, pro která uživatel zadal cestu, která není zahrnuta v adresářích hledaných sondou. LoadFrom, CreateInstanceFroma ExecuteAssembly jsou příklady metod, které se načítají podle cesty.
Viz
<loadFromRemoteSources>
informace o načítání sestavení ze vzdálených umístění.Kontext jen pro reflexi obsahuje sestavení načtená 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í pole bajtů obsahující sestavení, a přechodná dynamická sestavení vytvořená s odrazem emitovat a neukládat na disk.
Kontext načítání umožňuje načtení sestavení z cesty, která není zahrnuta do sondy, 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 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 se sestavení v kontextu načítání 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 s LoadFroma cesta ke sondování obsahuje sestavení se stejnou identitou, ale s jiným umístěnímInvalidCastExceptionMissingMethodException, může dojí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 nativní image existuje pro
assemblyFile
, nepoužije se. Sestavení nelze načíst jako neutrální z domény.
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 LoadFrom bez Evidence parametru, sestavení je načteno s důkazy, které zavaděč poskytuje.
Když použijete metodu LoadFrom s parametrem Evidence , části důkazů se sloučí. Důkazy poskytnuté jako argument metody LoadFrom nahrazují důkazy dodané zavaděčem.
Pokud zavoláte tuto metodu více než jednou ve stejném sestavení, ale s jiným důkazy zadané, common language runtime nevyvolá FileLoadException chybu, protože rovnost a integritu různých specifikací důkazu nelze určit. Důkazy, které jsou první úspěšné, jsou důkazy, které jsou použity.
Když použijete metodu LoadFrom s parametrem
Byte[]
k načtení obrázku COFF (Common Object File Format), důkazy se zkombinují.Zone
,Url
aSite
jsou zděděny z volajícího sestavení aHash
aStrongName
jsou převzaty ze sestavení COFF.Když použijete metodu LoadFrom 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.