Assembly.LoadFrom Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir derlemeyi yükler.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| LoadFrom(String, Byte[], AssemblyHashAlgorithm) |
Geçersiz.
Dosya adı veya yolu, karma değeri ve karma algoritması verilen bir derlemeyi yükler. |
| LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm) |
Geçersiz.
Dosya adı veya yolu, güvenlik kanıtı, karma değeri ve karma algoritması verilen bir derlemeyi yükler. |
| LoadFrom(String) |
Dosya adı veya yolu verilen bir derlemeyi yükler. |
| LoadFrom(String, Evidence) |
Geçersiz.
Dosya adı veya yolu verilen ve güvenlik kanıtı sağlayan bir derlemeyi yükler. |
Açıklamalar
Yalnızca .NET Framework: Derlemeleri uzak konumlardan yükleme için bkz <loadFromRemoteSources> .
LoadFrom(String, Byte[], AssemblyHashAlgorithm)
- Kaynak:
- Assembly.cs
- Kaynak:
- Assembly.cs
- Kaynak:
- Assembly.cs
- Kaynak:
- Assembly.cs
- Kaynak:
- Assembly.cs
Dikkat
LoadFrom with a custom AssemblyHashAlgorithm is obsolete. Use overloads without an AssemblyHashAlgorithm.
Dosya adı veya yolu, karma değeri ve karma algoritması verilen bir derlemeyi yükler.
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
Parametreler
- assemblyFile
- String
Derleme bildirimini içeren dosyanın adı veya yolu.
- hashValue
- Byte[]
Hesaplanan karma kodun değeri.
- hashAlgorithm
- AssemblyHashAlgorithm
Dosyaları karma olarak kullanmak ve tanımlayıcı adı oluşturmak için kullanılan karma algoritması.
Döndürülenler
Yüklenen derleme.
- Öznitelikler
Özel durumlar
Yalnızca .NET Core ve .NET 5+ : Her durumda.
assemblyFile, null'e eşittir.
assemblyFile bulunamadı veya yüklemeye çalıştığınız modül bir dosya adı uzantısı belirtmiyor.
Bulunan bir dosya yüklenemedi.
-veya-
assemblyFile
loadFromRemoteSources< temelinde> devre dışı bırakılmış bir konumu belirtir.
assemblyFile şu anda yüklü olan çalışma zamanı için geçerli bir derleme değildir; örneğin, 64 bit işlemde 32 bit derleme.
"file://" ile başlamayan bir kod tabanı gerekli WebPermissionolmadan belirtildi.
assemblyFile parametresi boş bir dizedir ("").
Derleme adı, sistem tarafından tanımlanan uzunluk üst sınırını aşıyor.
Açıklamalar
Bu API .NET Core/.NET 5+ içinde desteklenmez. Bu yöntem çağrıldığında oluşturur NotSupportedException . Bunun yerine LoadFrom(String) kullanın.
parametresi, assemblyFile kaçış karakterleri olmayan bir URI'ye başvurmalıdır. Bu yöntem, URI'deki tüm geçersiz karakterler için kaçış karakterleri sağlar.
Uyarı
Dosya aktarım protokolü (FTP) desteklenmiyor. için assemblyFile sağlanan URI bir FTP adresiyse, derleme yüklenmez. İstisna atılmaz.
assemblyFile geçerli dizine göre veya mutlak olabilir.
Derlemeler üç bağlamdan birine yüklenebilir veya bağlam olmadan yüklenebilir:
Yük bağlamı, yoklama tarafından bulunan derlemeleri içerir: genel derleme önbelleğinde, çalışma zamanı barındırılıyorsa konak derleme deposunda veya uygulama etki alanının ve PrivateBinPath içindeApplicationBase. Çoğu Load yöntemi aşırı yükleme derlemeleri bu bağlamda yükler.
Yükten yükleme bağlamı, kullanıcının yoklamada bulunmayan bir yol sağladığı derlemeleri içerir. LoadFrom, CreateInstanceFromve ExecuteAssembly yol ile yüklenen yöntemlere örnektir.
Derlemeleri uzak konumlardan yükleme için bkz
<loadFromRemoteSources>.Yalnızca yansıma bağlamı ve ReflectionOnlyLoadFrom yöntemleriyle ReflectionOnlyLoad yüklenen derlemeleri içerir; bu bağlamlardaki kod yürütülemez.
Kullanıcı derlemeyi oluşturduysa veya bulduysa, herhangi bir bağlamda değildir. Bu, derleme içeren bir bayt dizisi belirten yöntemin Load aşırı yüklemeleri kullanılarak yüklenen derlemeler ve yansıma yayma ile oluşturulan ve diske kaydedilmeyen geçici dinamik derlemeler için geçerlidir.
Kaynak yükleme bağlamı, bir derlemenin yoklamada bulunmayan bir yoldan yüklenmesine olanak tanır ve yol bilgileri bağlam tarafından korunacağından bu yol üzerindeki bağımlılıkların bulunmasına ve yüklenmesine izin verir.
LoadFrom yöntemi aşağıdaki dezavantajlara sahiptir. Bunun yerine kullanmayı Load göz önünde bulundurun.
Aynı kimliğe sahip bir derleme zaten yüklüyse, LoadFrom farklı bir yol belirtilmiş olsa bile yüklenen derlemeyi döndürür.
Bir derleme ile LoadFromyüklenirse ve daha sonra yük bağlamındaki bir derleme aynı derlemeyi görünen ada göre yüklemeyi denerse, yükleme girişimi başarısız olur. Bir modül seri durumdan çıkarıldığında bu durum oluşabilir.
Bir derleme ile LoadFromyüklenirse ve yoklama yolu aynı kimliğe sahip ancak farklı bir konuma sahip bir derleme içeriyorsa, bir , MissingMethodExceptionveya başka bir InvalidCastExceptionbeklenmeyen davranış oluşabilir.
LoadFrom talep eder FileIOPermissionAccess.Read ve FileIOPermissionAccess.PathDiscovery, veya WebPermission, belirtilen yolda.
için
assemblyFileyerel bir görüntü varsa kullanılmaz. Derleme, etki alanı nötr olarak yüklenemez.
Derleme, yükleyicinin sağladığı kanıtlarla yüklenir.
Şunlara uygulanır
LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm)
Dikkat
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.
Dosya adı veya yolu, güvenlik kanıtı, karma değeri ve karma algoritması verilen bir derlemeyi yükler.
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
Parametreler
- assemblyFile
- String
Derleme bildirimini içeren dosyanın adı veya yolu.
- securityEvidence
- Evidence
Derlemeyi yüklemeye yönelik kanıt.
- hashValue
- Byte[]
Hesaplanan karma kodun değeri.
- hashAlgorithm
- AssemblyHashAlgorithm
Dosyaları karma olarak kullanmak ve tanımlayıcı adı oluşturmak için kullanılan karma algoritması.
Döndürülenler
Yüklenen derleme.
- Öznitelikler
Özel durumlar
assemblyFile, null'e eşittir.
assemblyFile bulunamadı veya yüklemeye çalıştığınız modül bir dosya adı uzantısı belirtmiyor.
Bulunan bir dosya yüklenemedi.
-veya-
securityEvidence belirsiz değildir ve geçersiz olduğu belirlenir.
-veya-
assemblyFile
loadFromRemoteSources< temelinde> devre dışı bırakılmış bir konumu belirtir.
assemblyFile şu anda yüklü olan çalışma zamanı için geçerli bir derleme değildir; örneğin, 64 bit işlemde 32 bit derleme.
"file://" ile başlamayan bir kod tabanı gerekli WebPermissionolmadan belirtildi.
assemblyFile parametresi boş bir dizedir ("").
Derleme adı, sistem tarafından tanımlanan uzunluk üst sınırını aşıyor.
Açıklamalar
parametresi, assemblyFile kaçış karakterleri olmayan bir URI'ye başvurmalıdır. Bu yöntem, URI'deki tüm geçersiz karakterler için kaçış karakterleri sağlar.
Uyarı
Dosya aktarım protokolü (FTP) desteklenmiyor. için assemblyFile sağlanan URI bir FTP adresiyse, derleme yüklenmez. İstisna atılmaz.
assemblyFile geçerli dizine göre veya mutlak olabilir.
Derlemeler üç bağlamdan birine yüklenebilir veya bağlam olmadan yüklenebilir:
Yük bağlamı, yoklama tarafından bulunan derlemeleri içerir: GAC'de, çalışma zamanı barındırılıyorsa bir konak derleme deposunda veya uygulama etki alanının ve PrivateBinPath içindeApplicationBase. Çoğu Load yöntemi aşırı yükleme derlemeleri bu bağlamda yükler.
Yükten yükleme bağlamı, kullanıcının yoklama tarafından aranan dizinlere dahil olmayan bir yol sağladığı derlemeleri içerir. LoadFrom, CreateInstanceFromve ExecuteAssembly yol ile yüklenen yöntemlere örnektir.
Derlemeleri uzak konumlardan yükleme için bkz
<loadFromRemoteSources>.Yalnızca yansıma bağlamı ve ReflectionOnlyLoadFrom yöntemleriyle ReflectionOnlyLoad yüklenen derlemeleri içerir; bu bağlamlardaki kod yürütülemez.
Kullanıcı derlemeyi oluşturduysa veya bulduysa, herhangi bir bağlamda değildir. Bu, derleme içeren bir bayt dizisi belirten yöntemin Load aşırı yüklemeleri kullanılarak yüklenen derlemeler ve yansıma yayma ile oluşturulan ve diske kaydedilmeyen geçici dinamik derlemeler için geçerlidir.
Kaynak yükleme bağlamı, derlemenin yoklamada bulunmayan bir yoldan yüklenmesine olanak tanır ve yol bilgileri bağlam tarafından korunacağından bu yol üzerindeki bağımlılıkların bulunup yüklenmesine izin verir.
LoadFrom yöntemi aşağıdaki dezavantajlara sahiptir. Bunun yerine kullanmayı Load göz önünde bulundurun.
Aynı kimliğe sahip bir derleme zaten yüklüyse, LoadFrom farklı bir yol belirtilmiş olsa bile yüklenen derlemeyi döndürür.
Bir derleme ile LoadFromyüklenirse ve daha sonra yük bağlamındaki bir derleme aynı derlemeyi görünen ada göre yüklemeyi denerse, yükleme girişimi başarısız olur. Bir modül seri durumdan çıkarıldığında bu durum oluşabilir.
Bir derleme ile LoadFromyüklenirse ve yoklama yolu aynı kimliğe sahip ancak farklı bir konuma sahip bir derleme içeriyorsa, bir , MissingMethodExceptionveya başka bir InvalidCastExceptionbeklenmeyen davranış oluşabilir.
LoadFrom talep eder FileIOPermissionAccess.Read ve FileIOPermissionAccess.PathDiscovery, veya WebPermission, belirtilen yolda.
için
assemblyFileyerel bir görüntü varsa kullanılmaz. Derleme, etki alanı nötr olarak yüklenemez.
Belirli izinlerin bir derlemeye verilmesi veya verilmemesi kanıta dayanır. Derleme ve güvenlik kanıtı birleştirme kuralları aşağıdaki gibidir:
Parametresiz LoadFrom bir Evidence yöntem kullandığınızda, derleme yükleyicinin sağladığı kanıt ile yüklenir.
Parametreli LoadFrom bir Evidence yöntem kullandığınızda, kanıt parçaları birleştirilir. Yöntemine bağımsız değişken LoadFrom olarak sağlanan kanıt parçaları, yükleyici tarafından sağlanan kanıt parçalarının yerini alır.
Aynı derlemede bu yöntemi birden çok kez çağırırsanız ancak farklı bir kanıt belirtece sahipseniz, farklı kanıt belirtimlerinin eşitliği ve bütünlüğü belirlenemediğinden ortak dil çalışma zamanı bir FileLoadException oluşturmaz. İlk başarılı olan kanıt, kullanılan kanıttır.
Ortak nesne LoadFrom dosyası biçimi (COFF) görüntüsünü yüklemek için parametresi olan
Byte[]bir yöntem kullandığınızda, kanıt birleştirilir.ZoneSiteveUrlçağrı derlemesinden devralınır veHashStrongNameCOFF derlemesinden alınır.Parametreli LoadFrom bir
Byte[]yöntem kullandığınızda ve Evidence COFF görüntüsü yüklemek için yalnızca sağlanan kanıt kullanılır. Çağıran derlemenin kanıtı ve COFF görüntüsünün kanıtı yoksayılır.
Şunlara uygulanır
LoadFrom(String)
- Kaynak:
- Assembly.cs
- Kaynak:
- Assembly.cs
- Kaynak:
- Assembly.cs
- Kaynak:
- Assembly.cs
- Kaynak:
- Assembly.cs
Dosya adı veya yolu verilen bir derlemeyi yükler.
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
Parametreler
- assemblyFile
- String
Derleme bildirimini içeren dosyanın adı veya yolu.
Döndürülenler
Yüklenen derleme.
- Öznitelikler
Özel durumlar
assemblyFile, null'e eşittir.
assemblyFile bulunamadı veya yüklemeye çalıştığınız modül bir dosya adı uzantısı belirtmiyor.
Bulunan bir dosya yüklenemedi.
-veya-
Yalnızca .NET Framework: assemblyFileloadFromRemoteSources< temelinde> devre dışı bırakılmış bir konumu belirtir.
assemblyFile şu anda yüklü olan çalışma zamanı için geçerli bir derleme değildir; örneğin, 64 bit işlemde 32 bit derleme.
"file://" ile başlamayan bir kod tabanı gerekli WebPermissionolmadan belirtildi.
assemblyFile parametresi boş bir dizedir ("").
Derleme adı, sistem tarafından tanımlanan uzunluk üst sınırını aşıyor.
Örnekler
Aşağıdaki örnek, dosya adı veya yolu verilen bir derlemeyi yükler.
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
Açıklamalar
Bu API uyumluluk için .NET Core'da bulunur, ancak bunun yerine aşırı yüklemelerin kullanılması AssemblyLoadContext önerilir.
Derleme varsayılan AssemblyLoadContext içine yüklenir. Derleme yükleme hakkında daha fazla bilgi için bkz. Yönetilen derleme yükleme algoritması.
parametresi, assemblyFile kaçış karakterleri olmayan bir URI'ye başvurmalıdır. Bu yöntem, URI'deki tüm geçersiz karakterler için kaçış karakterleri sağlar.
Uyarı
Yalnızca .NET Framework: Dosya aktarım protokolü (FTP) desteklenmez. için assemblyFile sağlanan URI bir FTP adresiyse, derleme yüklenmez. İstisna atılmaz.
assemblyFile geçerli dizine göre veya mutlak olabilir.
Yalnızca .NET Framework: Derlemeler üç bağlamdan birine yüklenebilir veya bağlam olmadan yüklenebilir:
Yük bağlamı, yoklama tarafından bulunan derlemeleri içerir: GAC'de, çalışma zamanı barındırılıyorsa bir konak derleme deposunda veya uygulama etki alanının ve PrivateBinPath içindeApplicationBase. Çoğu Load yöntemi aşırı yükleme derlemeleri bu bağlamda yükler.
Yükten yükleme bağlamı, kullanıcının yoklama tarafından aranan dizinlere dahil olmayan bir yol sağladığı derlemeleri içerir. Ayrıca bu yol üzerindeki bağımlılıkların bulunmasına ve yüklenmesine izin verir çünkü yol bilgileri bağlam tarafından korunur. LoadFrom, CreateInstanceFromve ExecuteAssembly yol ile yüklenen yöntemlere örnektir.
Derlemeleri uzak konumlardan yükleme için bkz
<loadFromRemoteSources>.Yalnızca yansıma bağlamı ve ReflectionOnlyLoadFrom yöntemleriyle ReflectionOnlyLoad yüklenen derlemeleri içerir; bu bağlamlardaki kod yürütülemez.
Kullanıcı derlemeyi oluşturduysa veya bulduysa, herhangi bir bağlamda değildir. Bu, derleme içeren bir bayt dizisi belirten yöntemin Load aşırı yüklemeleri kullanılarak yüklenen derlemeler ve yansıma yayma ile oluşturulan ve diske kaydedilmeyen geçici dinamik derlemeler için geçerlidir.
LoadFrom yöntemi aşağıdaki dezavantajlara sahiptir. Bunun yerine kullanmayı Load göz önünde bulundurun.
Aynı kimliğe sahip bir derleme yükleme bağlamında zaten yüklüyse, LoadFrom farklı bir yol belirtilmiş olsa bile yüklenen derlemeyi döndürür.
Bir derleme, yük bağlamında aynı kimliğe sahip bir derleme mevcut olsa bile yükten yükleme bağlamında yüklenebilir. İki derleme arasındaki birlikte çalışabilirlik çalışmayacak ve bu da , MissingMethodExceptiongibi InvalidCastExceptionhatalara veya diğer beklenmeyen davranışlara yol açar.
Yoklama yolundaki bir konumla çağrılması LoadFrom , derlemeyi yükleme bağlamında değil yük bağlamında yükler.
Bağlama yeniden yönlendirme ilkesi tarafından kimliği ters giden bir derleme dosyası öğesine geçirilirse LoadFrom, ilke uygulanır ve derleme yük bağlamındaki yoklama yolundan yüklenir.
Bir derleme yükleme kaynağı bağlamında yüklenirse ve daha sonra yük bağlamındaki bir derleme aynı derlemeyi görünen ada göre yüklemeyi denerse, yükleme girişimi başarısız olur. Bir modül seri durumdan çıkarıldığında bu durum oluşabilir.
LoadFrom talep eder FileIOPermissionAccess.Read ve FileIOPermissionAccess.PathDiscovery, veya WebPermission, belirtilen yolda.
için
assemblyFileyerel bir görüntü varsa kullanılmaz. Derleme, etki alanı nötr olarak yüklenemez.
Şunlara uygulanır
LoadFrom(String, Evidence)
Dikkat
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.
Dosya adı veya yolu verilen ve güvenlik kanıtı sağlayan bir derlemeyi yükler.
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
Parametreler
- assemblyFile
- String
Derleme bildirimini içeren dosyanın adı veya yolu.
- securityEvidence
- Evidence
Derlemeyi yüklemeye yönelik kanıt.
Döndürülenler
Yüklenen derleme.
- Öznitelikler
Özel durumlar
assemblyFile, null'e eşittir.
assemblyFile bulunamadı veya yüklemeye çalıştığınız modül bir dosya adı uzantısı belirtmiyor.
Bulunan bir dosya yüklenemedi.
-veya-
securityEvidence belirsiz değildir ve geçersiz olduğu belirlenir.
-veya-
assemblyFile
loadFromRemoteSources< temelinde> devre dışı bırakılmış bir konumu belirtir.
assemblyFile şu anda yüklü olan çalışma zamanı için geçerli bir derleme değildir; örneğin, 64 bit işlemde 32 bit derleme.
"file://" ile başlamayan bir kod tabanı gerekli WebPermissionolmadan belirtildi.
assemblyFile parametresi boş bir dizedir ("").
Derleme adı, sistem tarafından tanımlanan uzunluk üst sınırını aşıyor.
Açıklamalar
parametresi, assemblyFile kaçış karakterleri olmayan bir URI'ye başvurmalıdır. Bu yöntem, URI'deki tüm geçersiz karakterler için kaçış karakterleri sağlar.
Uyarı
Dosya aktarım protokolü (FTP) desteklenmiyor. için assemblyFile sağlanan URI bir FTP adresiyse, derleme yüklenmez. İstisna atılmaz.
assemblyFile geçerli dizine göre veya mutlak olabilir.
Derlemeler üç bağlamdan birine yüklenebilir veya bağlam olmadan yüklenebilir:
Yük bağlamı, yoklama tarafından bulunan derlemeleri içerir: GAC'de, çalışma zamanı barındırılıyorsa bir konak derleme deposunda veya uygulama etki alanının ve PrivateBinPath içindeApplicationBase. Çoğu Load yöntemi aşırı yükleme derlemeleri bu bağlamda yükler.
Yükten yükleme bağlamı, kullanıcının yoklama tarafından aranan dizinlere dahil olmayan bir yol sağladığı derlemeleri içerir. LoadFrom, CreateInstanceFromve ExecuteAssembly yol ile yüklenen yöntemlere örnektir.
Derlemeleri uzak konumlardan yükleme için bkz
<loadFromRemoteSources>.Yalnızca yansıma bağlamı ve ReflectionOnlyLoadFrom yöntemleriyle ReflectionOnlyLoad yüklenen derlemeleri içerir; bu bağlamlardaki kod yürütülemez.
Kullanıcı derlemeyi oluşturduysa veya bulduysa, herhangi bir bağlamda değildir. Bu, derleme içeren bir bayt dizisi belirten yöntemin Load aşırı yüklemeleri kullanılarak yüklenen derlemeler ve yansıma yayma ile oluşturulan ve diske kaydedilmeyen geçici dinamik derlemeler için geçerlidir.
Kaynak yükleme bağlamı, derlemenin yoklamada bulunmayan bir yoldan yüklenmesine olanak tanır ve yol bilgileri bağlam tarafından korunacağından bu yol üzerindeki bağımlılıkların bulunup yüklenmesine izin verir.
LoadFrom yöntemi aşağıdaki dezavantajlara sahiptir. Bunun yerine kullanmayı Load göz önünde bulundurun.
Aynı kimliğe sahip bir derleme zaten yüklüyse, LoadFrom farklı bir yol belirtilmiş olsa bile yüklenen derlemeyi döndürür.
Bir derleme ile LoadFromyüklenirse ve daha sonra yük bağlamındaki bir derleme aynı derlemeyi görünen ada göre yüklemeyi denerse, yükleme girişimi başarısız olur. Bir modül seri durumdan çıkarıldığında bu durum oluşabilir.
Bir derleme ile LoadFromyüklenirse ve yoklama yolu aynı kimliğe sahip ancak farklı bir konuma sahip bir derleme içeriyorsa, bir , MissingMethodExceptionveya başka bir InvalidCastExceptionbeklenmeyen davranış oluşabilir.
LoadFrom talep eder FileIOPermissionAccess.Read ve FileIOPermissionAccess.PathDiscovery, veya WebPermission, belirtilen yolda.
için
assemblyFileyerel bir görüntü varsa kullanılmaz. Derleme, etki alanı nötr olarak yüklenemez.
Belirli izinlerin bir derlemeye verilmesi veya verilmemesi kanıta dayanır. Derleme ve güvenlik kanıtı birleştirme kuralları aşağıdaki gibidir:
Parametresiz LoadFrom bir Evidence yöntem kullandığınızda, derleme yükleyicinin sağladığı kanıt ile yüklenir.
Parametreli LoadFrom bir Evidence yöntem kullandığınızda, kanıt parçaları birleştirilir. Yöntemine bağımsız değişken LoadFrom olarak sağlanan kanıt parçaları, yükleyici tarafından sağlanan kanıt parçalarının yerini alır.
Aynı derlemede bu yöntemi birden çok kez çağırırsanız ancak farklı bir kanıt belirtece sahipseniz, farklı kanıt belirtimlerinin eşitliği ve bütünlüğü belirlenemediğinden ortak dil çalışma zamanı bir FileLoadException oluşturmaz. İlk başarılı olan kanıt, kullanılan kanıttır.
Ortak nesne LoadFrom dosyası biçimi (COFF) görüntüsünü yüklemek için parametresi olan
Byte[]bir yöntem kullandığınızda, kanıt birleştirilir.ZoneSiteveUrlçağrı derlemesinden devralınır veHashStrongNameCOFF derlemesinden alınır.Parametreli LoadFrom bir
Byte[]yöntem kullandığınızda ve Evidence COFF görüntüsü yüklemek için yalnızca sağlanan kanıt kullanılır. Çağıran derlemenin kanıtı ve COFF görüntüsünün kanıtı yoksayılır.