Aracılığıyla paylaş


Assembly.LoadFrom Yöntem

Tanım

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. Zone Site ve Url çağrı derlemesinden devralınır ve HashStrongName COFF 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. Zone Site ve Url çağrı derlemesinden devralınır ve HashStrongName COFF 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.

Ayrıca bkz.

Şunlara uygulanır