Assembly.Load Yöntem

Tanım

Bir derlemeyi yükler.

Aşırı Yüklemeler

Load(Byte[], Byte[], SecurityContextSource)

Derlemeyi, isteğe bağlı olarak simgeler de dahil olmak üzere ve güvenlik bağlamı için kaynağı belirterek, yayılan bir derleme içeren ortak nesne dosyası biçimi (COFF) tabanlı bir görüntüyle yükler.

Load(Byte[], Byte[], Evidence)
Geçersiz.

Derlemeyi, isteğe bağlı olarak derleme için simgeler ve kanıtlar da dahil olmak üzere, yayılan bir derlemeyi içeren ortak nesne dosya biçimi (COFF) tabanlı bir görüntüyle yükler.

Load(String, Evidence)
Geçersiz.

Görünen adı verilen ve sağlanan kanıtı kullanan bir derlemeyi yükler.

Load(AssemblyName, Evidence)
Geçersiz.

verilen bir derlemeyi AssemblyNameyükler. Derleme, sağlanan kanıt kullanılarak yüklenir.

Load(Byte[])

Derlemeyi, yayılan bir derleme içeren ortak nesne dosyası biçimi (COFF) tabanlı bir görüntüyle yükler.

Load(String)

Belirtilen ada sahip bir derleme yükler.

Load(AssemblyName)

verilen bir derlemeyi AssemblyNameyükler.

Load(Byte[], Byte[])

Derlemeyi, isteğe bağlı olarak derleme için simgeler de dahil olmak üzere, yayılan bir derlemeyi içeren ortak nesne dosyası biçimi (COFF) tabanlı bir görüntüyle yükler.

Load(Byte[], Byte[], SecurityContextSource)

Derlemeyi, isteğe bağlı olarak simgeler de dahil olmak üzere ve güvenlik bağlamı için kaynağı belirterek, yayılan bir derleme içeren ortak nesne dosyası biçimi (COFF) tabanlı bir görüntüyle yükler.

public:
 static System::Reflection::Assembly ^ Load(cli::array <System::Byte> ^ rawAssembly, cli::array <System::Byte> ^ rawSymbolStore, System::Security::SecurityContextSource securityContextSource);
public static System.Reflection.Assembly Load (byte[] rawAssembly, byte[] rawSymbolStore, System.Security.SecurityContextSource securityContextSource);
static member Load : byte[] * byte[] * System.Security.SecurityContextSource -> System.Reflection.Assembly
Public Shared Function Load (rawAssembly As Byte(), rawSymbolStore As Byte(), securityContextSource As SecurityContextSource) As Assembly

Parametreler

rawAssembly
Byte[]

Yayılan derlemeyi içeren COFF tabanlı bir görüntü olan bayt dizisi.

rawSymbolStore
Byte[]

Derlemenin simgelerini temsil eden ham baytları içeren bir bayt dizisi.

securityContextSource
SecurityContextSource

Güvenlik bağlamının kaynağı.

Döndürülenler

Yüklenen derleme.

Özel durumlar

rawAssembly, null değeridir.

rawAssembly şu anda yüklü olan çalışma zamanı için geçerli bir derleme değil.

değeri securityContextSource numaralandırma değerlerinden biri değildir.

Açıklamalar

Derleme, güvenlik bağlamı için belirtilen kaynak kullanılarak çağıranın uygulama etki alanına yüklenir. Belirtildiyse rawSymbolStore , derlemenin simgelerini temsil eden ham baytlar da yüklenir.

Şunlara uygulanır

Load(Byte[], Byte[], Evidence)

Dikkat

This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

Derlemeyi, isteğe bağlı olarak derleme için simgeler ve kanıtlar da dahil olmak üzere, yayılan bir derlemeyi içeren ortak nesne dosya biçimi (COFF) tabanlı bir görüntüyle yükler.

public:
 static System::Reflection::Assembly ^ Load(cli::array <System::Byte> ^ rawAssembly, cli::array <System::Byte> ^ rawSymbolStore, System::Security::Policy::Evidence ^ securityEvidence);
public static System.Reflection.Assembly Load (byte[] rawAssembly, byte[] rawSymbolStore, 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 Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Reflection.Assembly Load (byte[] rawAssembly, byte[] rawSymbolStore, System.Security.Policy.Evidence securityEvidence);
static member Load : byte[] * byte[] * 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 Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
static member Load : byte[] * byte[] * System.Security.Policy.Evidence -> System.Reflection.Assembly
Public Shared Function Load (rawAssembly As Byte(), rawSymbolStore As Byte(), securityEvidence As Evidence) As Assembly

Parametreler

rawAssembly
Byte[]

Yayılan derlemeyi içeren COFF tabanlı bir görüntü olan bayt dizisi.

rawSymbolStore
Byte[]

Derlemenin simgelerini temsil eden ham baytları içeren bir bayt dizisi.

securityEvidence
Evidence

Derleme yüklemesi için kanıt.

Döndürülenler

Yüklenen derleme.

Öznitelikler

Özel durumlar

rawAssembly, null değeridir.

rawAssembly şu anda yüklü olan çalışma zamanı için geçerli bir derleme değil.

Bir derleme veya modül iki farklı kanıtla iki kez yüklendi.

securityEvidence değildir null. Varsayılan olarak, eski CAS ilkesi .NET Framework 4'te etkinleştirilmez; etkinleştirilmediğinde olmalıdır securityEvidencenull.

Açıklamalar

Bu yöntem aşırı yüklemesi her zaman kendi yalıtılmış yük bağlamında yeni Assembly bir nesne oluşturur.

Derleme, sağlanan kanıt kullanılarak yüklenir. Derleme simgelerini temsil eden ham baytlar da yüklenir.

Bir derlemeye belirli izinlerin verilip verilmediği kanıta göre belirlenir. Derleme ve güvenlik kanıtı birleştirme kuralları aşağıdaki gibidir:

  • Parametre içermeyen Evidence bir Load yöntem kullandığınızda, derleme yükleyicinin sağladığı kanıt ile yüklenir.

  • Bir parametre ile Evidence bir Load yöntem kullandığınızda, kanıt parçaları birleştirilir. Yöntemine bağımsız değişken Load olarak sağlanan kanıt parçaları, yükleyici tarafından sağlanan kanıt parçalarının yerini alır.

  • COFF görüntüsünü yüklemek için bir Byte[] parametre ile yöntem aşırı yüklemesi kullandığınızdaLoad, kanıt çağıran derlemeden devralınır.

  • Bir parametre ile bir LoadByte[] yöntem kullandığınızda ve Evidence bir COFF görüntüsünü yüklemek için yalnızca sağlanan kanıt kullanılır. Çağırma derlemesinin kanıtı ve COFF görüntüsünün kanıtı yoksayılır.

Yöntemini aynı derlemede birden çok kez çağırırsanız Load ancak farklı bir kanıt belirtilirse, 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.

Şunlara uygulanır

Load(String, Evidence)

Dikkat

This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

Görünen adı verilen ve sağlanan kanıtı kullanan bir derlemeyi yükler.

public:
 static System::Reflection::Assembly ^ Load(System::String ^ assemblyString, System::Security::Policy::Evidence ^ assemblySecurity);
public static System.Reflection.Assembly Load (string assemblyString, System.Security.Policy.Evidence assemblySecurity);
[System.Obsolete("This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Reflection.Assembly Load (string assemblyString, System.Security.Policy.Evidence assemblySecurity);
static member Load : 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 Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
static member Load : string * System.Security.Policy.Evidence -> System.Reflection.Assembly
Public Shared Function Load (assemblyString As String, assemblySecurity As Evidence) As Assembly

Parametreler

assemblyString
String

Derlemenin görünen adı.

assemblySecurity
Evidence

Derleme yüklemesi için kanıt.

Döndürülenler

Yüklenen derleme.

Öznitelikler

Özel durumlar

assemblyString, null değeridir.

assemblyString bulunamadı.

assemblyString şu anda yüklü olan çalışma zamanı için geçerli bir derleme değil.

Bulunan bir dosya yüklenemedi.

-veya-

Bir derleme veya modül iki farklı kanıtla iki kez yüklendi.

Açıklamalar

FileLoadException tam derleme adını belirtirse ve basit adla eşleşen ilk derleme farklı bir sürüme, kültüre veya ortak anahtar belirtecine sahipse assemblyString oluşturulur. Yükleyici, basit adla eşleşen diğer derlemeleri yoklama işlemine devam etmez.

Bir derlemeye belirli izinlerin verilip verilmediği kanıta göre belirlenir. Derleme ve güvenlik kanıtı birleştirme kuralları aşağıdaki gibidir:

  • Parametre içermeyen Evidence bir Load yöntem kullandığınızda, derleme yükleyicinin sağladığı kanıt ile yüklenir.

  • Bir parametre ile Evidence bir Load yöntem kullandığınızda, kanıt parçaları birleştirilir. Yöntemine bağımsız değişken Load olarak sağlanan kanıt parçaları, yükleyici tarafından sağlanan kanıt parçalarının yerini alır.

  • Ortak nesne Load dosyası biçimi (COFF) görüntüsünü yüklemek için bir Byte[] parametre ile yöntem aşırı yüklemesi kullandığınızda, kanıt çağıran derlemeden devralınır.

  • Bir parametre ile bir LoadByte[] yöntem kullandığınızda ve Evidence bir COFF görüntüsünü yüklemek için yalnızca sağlanan kanıt kullanılır. Çağırma derlemesinin kanıtı ve COFF görüntüsünün kanıtı yoksayılır.

Bu yöntemi aynı derlemede birden çok kez çağırırsanız ancak farklı bir kanıt belirtilirse, 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.

.NET Framework 2.0 sürümünde işlemci mimarisi derleme kimliğini eklenmiştir ve derleme adı dizelerinin bir parçası olarak nitelendirilebilir. Örneğin, "ProcessorArchitecture=msil". Ancak, derleme adını belirtmenin önerilen yolu bir AssemblyName nesne oluşturmak ve bunu yöntemin uygun bir aşırı yüklemesine Load geçirmektir. Bkz. AssemblyName.ProcessorArchitecture.

Ayrıca bkz.

Şunlara uygulanır

Load(AssemblyName, Evidence)

Dikkat

This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

verilen bir derlemeyi AssemblyNameyükler. Derleme, sağlanan kanıt kullanılarak yüklenir.

public:
 static System::Reflection::Assembly ^ Load(System::Reflection::AssemblyName ^ assemblyRef, System::Security::Policy::Evidence ^ assemblySecurity);
public static System.Reflection.Assembly Load (System.Reflection.AssemblyName assemblyRef, System.Security.Policy.Evidence assemblySecurity);
[System.Obsolete("This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Reflection.Assembly Load (System.Reflection.AssemblyName assemblyRef, System.Security.Policy.Evidence assemblySecurity);
static member Load : System.Reflection.AssemblyName * 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 Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
static member Load : System.Reflection.AssemblyName * System.Security.Policy.Evidence -> System.Reflection.Assembly
Public Shared Function Load (assemblyRef As AssemblyName, assemblySecurity As Evidence) As Assembly

Parametreler

assemblyRef
AssemblyName

Yüklenecek derlemeyi açıklayan nesne.

assemblySecurity
Evidence

Derleme yüklemesi için kanıt.

Döndürülenler

Yüklenen derleme.

Öznitelikler

Özel durumlar

assemblyRef, null değeridir.

assemblyRef bulunamadı.

assemblyRef şu anda yüklü olan çalışma zamanı için geçerli bir derleme değil.

Bir derleme veya modül iki farklı kanıtla iki kez yüklendi.

-veya-

assemblyRef uzak derlemeyi belirtir, ancak uzak derlemelerde kod yürütme özelliği devre dışı bırakılır. Bkz <. loadFromRemoteSources>.

Açıklamalar

FileLoadException tam derleme adını belirtirse ve basit adla eşleşen ilk derleme farklı bir sürüme, kültüre veya ortak anahtar belirtecine sahipse assemblyRef oluşturulur. Yükleyici, basit adla eşleşen diğer derlemeleri yoklama işlemine devam etmez. .NET Framework 4'den başlayarak, kodun uzak derlemelerde yürütülmesi varsayılan olarak devre dışı bırakıldığından, FileLoadException uzak derlemeyi belirtirse assemblyRef de oluşturulur. Uzak konumlardan yüklenen kodun yürütülmesini etkinleştirmek için yapılandırma öğesini kullanabilirsiniz <loadFromRemoteSources> .

Not

Yalnızca CodeBase özellik kümesiyle bir AssemblyName kullanmayın. CodeBase özelliği, derleme kimliğinin herhangi bir öğesini (ad veya sürüm gibi) sağlamaz, bu nedenle yükleme yönteminden Load bekleyebileceğiniz gibi, kimlik tarafından yükleme kurallarına göre gerçekleşmez. Bunun yerine, derleme yükleme gelen kuralları kullanılarak yüklenir. Yükten yükleme bağlamını kullanmanın dezavantajları hakkında bilgi için bkz Assembly.LoadFrom . Yöntem aşırı yüklemesi veya Derleme Yükleme için En İyi Yöntemler.

Bir derlemeye belirli izinlerin verilip verilmediği kanıta göre belirlenir. Derleme ve güvenlik kanıtı birleştirme kuralları aşağıdaki gibidir:

  • Parametresiz Evidence bir Load yöntem kullandığınızda, derleme yükleyicinin sağladığı kanıt ile birlikte yüklenir.

  • Parametreli Evidence bir Load yöntem kullandığınızda, kanıt parçaları birleştirilir. Yöntemine bağımsız değişken Load olarak sağlanan kanıt parçaları, yükleyici tarafından sağlanan kanıt parçalarının yerini alır.

  • Ortak nesne Load dosyası biçimi (COFF) görüntüsünü yüklemek için parametresiyle Byte[] bir yöntem aşırı yüklemesi kullandığınızda, kanıt çağıran derlemeden devralınır.

  • Parametreli bir LoadByte[] yöntem kullandığınızda ve Evidence COFF görüntüsünü 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.

Not

Hem özellik hem AssemblyName.CodeBase de AssemblyName.Name özellik ayarlanırsa, derlemeyi yüklemeye yönelik ilk denemede görünen ad (özellik tarafından Assembly.FullName döndürülen sürüm, kültür vb.) kullanılır. Dosya bulunamazsa, CodeBase derlemeyi aramak için kullanılır. Derleme kullanılarak CodeBasebulunursa, görünen ad derlemeyle eşleştirilir. Eşleşme başarısız olursa, bir FileLoadException oluşturulur.

Aynı derlemede Load yöntemini birden çok kez çağırırsanız ancak farklı bir kanıt belirtilirse, 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.

Ayrıca bkz.

Şunlara uygulanır

Load(Byte[])

Kaynak:
Assembly.cs
Kaynak:
Assembly.cs
Kaynak:
Assembly.cs

Derlemeyi, yayılan bir derleme içeren ortak nesne dosya biçimi (COFF) tabanlı bir görüntüyle yükler.

public:
 static System::Reflection::Assembly ^ Load(cli::array <System::Byte> ^ rawAssembly);
public static System.Reflection.Assembly Load (byte[] rawAssembly);
static member Load : byte[] -> System.Reflection.Assembly
Public Shared Function Load (rawAssembly As Byte()) As Assembly

Parametreler

rawAssembly
Byte[]

Yayılan derlemeyi içeren COFF tabanlı bir görüntü olan bayt dizisi.

Döndürülenler

Yüklenen derleme.

Özel durumlar

rawAssembly, null değeridir.

rawAssembly şu anda yüklü olan çalışma zamanı için geçerli bir derleme değil.

Açıklamalar

Bu yöntem aşırı yüklemesi her zaman kendi yalıtılmış yük bağlamında yeni Assembly bir nesne oluşturur.

Yalnızca .NET Framework: Bu yöntem kullanılarak yüklenen derlemenin güven düzeyi, çağıran derlemenin güven düzeyiyle aynıdır. Uygulama etki alanının güven düzeyine sahip bir bayt dizisinden derleme yüklemek için yöntem aşırı yüklemesini Load(Byte[], Byte[], SecurityContextSource) kullanın. Bayt dizilerini alan yöntemin aşırı yüklemeleriyle Load kanıt kullanımı hakkında daha fazla bilgi için yöntem aşırı yüklemesine Load(Byte[], Byte[], Evidence) bakın.

Şunlara uygulanır

Load(String)

Kaynak:
Assembly.CoreCLR.cs
Kaynak:
Assembly.CoreCLR.cs
Kaynak:
Assembly.CoreCLR.cs

Belirtilen ada sahip bir derleme yükler.

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

Parametreler

assemblyString
String

Derleme adının uzun veya kısa biçimi.

Döndürülenler

Yüklenen derleme.

Özel durumlar

assemblyString, null değeridir.

assemblyString sıfır uzunluklu bir dizedir.

assemblyString bulunamadı.

Bulunan bir dosya yüklenemedi.

assemblyString şu anda yüklü olan çalışma zamanı için geçerli bir derleme değil.

Örnekler

Aşağıdaki örnek, tam adı verilen bir derlemeyi yükler ve belirtilen derlemede bulunan tüm türleri listeler. Tam derleme adını alma hakkında bilgi için bkz. Derleme Adları.

using namespace System;
using namespace System::Collections;
using namespace System::Reflection;
int main()
{
    // You must supply a valid fully qualified assembly name.            
    Assembly^ SampleAssembly = Assembly::Load
        ( "SampleAssembly, Version=1.0.2004.0, Culture=neutral, PublicKeyToken=8744b20f8da049e3" );
    array<Type^>^ Types = SampleAssembly->GetTypes();
    
    // Display all the types contained in the specified assembly.
    IEnumerator^ myEnum = Types->GetEnumerator();
    Type^ oType;
    while ( myEnum->MoveNext() )
    {
        oType = safe_cast<Type^>(myEnum->Current);
        Console::WriteLine( oType->Name );
    }
}
using System;
using System.Reflection;

class Class1
{
    public static void Main()
    {
        // You must supply a valid fully qualified assembly name.
        Assembly SampleAssembly = Assembly.Load
            ("SampleAssembly, Version=1.0.2004.0, Culture=neutral, PublicKeyToken=8744b20f8da049e3");
        // Display all the types contained in the specified assembly.
        foreach (Type oType in SampleAssembly.GetTypes()) {
            Console.WriteLine(oType.Name);
        }
    }
}
Imports System.Reflection

Class Class1
    Public Shared Sub Main()
        ' You must supply a valid fully qualified assembly name.            
        Dim SampleAssembly As [Assembly] = _
            [Assembly].Load("SampleAssembly, Version=1.0.2004.0, Culture=neutral, PublicKeyToken=8744b20f8da049e3")
        Dim oType As Type
        ' Display all the types contained in the specified assembly.
        For Each oType In SampleAssembly.GetTypes()
            Console.WriteLine(oType.Name)
        Next oType
    End Sub	'LoadSample
End Class

Açıklamalar

Doğru derlemeyi yüklemek için, derleme adının uzun biçimini geçirerek yöntemini çağırmak Load önerilir. Derleme adının uzun biçimi, sürümü, kültürü, ortak anahtar belirteci ve isteğe bağlı olarak işlemci mimarisiyle birlikte basit adından (System.dll derleme için "Sistem" gibi) oluşur. Derlemenin FullName özelliğine karşılık gelir. Aşağıdaki örnekte, .NET Framework 4 için System.dll derlemesini yüklemek için uzun bir ad kullanımı gösterilmektedir:

using System;
using System.Reflection;

public class Example
{
   public static void Main()
   {
      string longName = "system, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
      Assembly assem = Assembly.Load(longName);
      if (assem == null)
         Console.WriteLine("Unable to load assembly...");
      else
         Console.WriteLine(assem.FullName);
   }
}
// The example displays the following output:
//        system, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Imports System.Reflection

Module Example
   Public Sub Main()
      Dim longName As String = "system, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
      Dim assem As Assembly = Assembly.Load(longName)
      If assem Is Nothing Then
         Console.WriteLine("Unable to load assembly...")
      Else
         Console.WriteLine(assem.FullName)
      End If
   End Sub
End Module
' The example displays the following output:
'       system, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

FileLoadException , tam derleme adını belirtirse assemblyString oluşturulur ve basit adla eşleşen ilk derlemenin farklı bir sürümü, kültürü veya ortak anahtar belirteci vardır. Yükleyici, basit adla eşleşen diğer derlemeler için yoklama işlemine devam etmez.

.NET Framework 2.0 sürümünde işlemci mimarisi derleme kimliğini eklenmiştir ve derleme adı dizelerinin bir parçası olarak nitelendirilebilir. Örneğin, "ProcessorArchitecture=msil". Ancak, derleme adı belirtmenin önerilen yolu bir AssemblyName nesnesi oluşturmak ve bunu yöntemin uygun bir aşırı yüklemesine Load geçirmektir. Bkz. AssemblyName.ProcessorArchitecture.

Ayrıca bkz.

Şunlara uygulanır

Load(AssemblyName)

Kaynak:
Assembly.CoreCLR.cs
Kaynak:
Assembly.CoreCLR.cs
Kaynak:
Assembly.CoreCLR.cs

verilen bir derlemeyi AssemblyNameyükler.

public:
 static System::Reflection::Assembly ^ Load(System::Reflection::AssemblyName ^ assemblyRef);
public static System.Reflection.Assembly Load (System.Reflection.AssemblyName assemblyRef);
static member Load : System.Reflection.AssemblyName -> System.Reflection.Assembly
Public Shared Function Load (assemblyRef As AssemblyName) As Assembly

Parametreler

assemblyRef
AssemblyName

Yüklenecek derlemeyi açıklayan nesne.

Döndürülenler

Yüklenen derleme.

Özel durumlar

assemblyRef, null değeridir.

assemblyRef bulunamadı.

Bulunan bir dosya yüklenemedi.

-veya-

assemblyRef uzak bir derleme belirtir, ancak uzak derlemelerde kod yürütme özelliği devre dışıdır. Bkz <. loadFromRemoteSources>.

Not: Windows Mağazası uygulamaları için .NET'te veya Taşınabilir Sınıf Kitaplığı'nda bunun yerine temel sınıf özel durumunu IOExceptionyakalayın.

assemblyRef şu anda yüklü olan çalışma zamanı için geçerli bir derleme değil.

Örnekler

Aşağıdaki örnek bir AssemblyName nesnesinin örneğini oluşturur ve derlemeyi sysglobal.dll yüklemek için kullanır. Örnek daha sonra derlemenin genel türlerinin tam adını görüntüler.

using System;
using System.Reflection;

public class Example
{
   public static void Main()
   {
      String fullName = "sysglobl, Version=4.0.0.0, Culture=neutral, " +
                        "PublicKeyToken=b03f5f7f11d50a3a, processor architecture=MSIL";
      var an = new AssemblyName(fullName);
      var assem = Assembly.Load(an);
      Console.WriteLine("Public types in assembly {0}:", assem.FullName);
      foreach (var t in assem.GetTypes())
         if (t.IsPublic)
            Console.WriteLine("   {0}", t.FullName);
   }
}
// The example displays the following output:
//   Public types in assembly sysglobl, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a:
//      System.Globalization.CultureAndRegionInfoBuilder
//      System.Globalization.CultureAndRegionModifiers
Imports System.Reflection

Module Example
   Public Sub Main()
      Dim fullName As String = "sysglobl, Version=4.0.0.0, Culture=neutral, " +
                               "PublicKeyToken=b03f5f7f11d50a3a, processor architecture=MSIL"
      Dim an As New AssemblyName(fullName)
      Dim assem As Assembly = Assembly.Load(an)
      Console.WriteLine("Public types in assembly {0}:", assem.FullName)
      For Each t As Type in assem.GetTypes()
         If t.IsPublic Then Console.WriteLine("   {0}", t.FullName)
      Next
   End Sub
End Module
' The example displays the following output:
'   Public types in assembly sysglobl, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a:
'      System.Globalization.CultureAndRegionInfoBuilder
'      System.Globalization.CultureAndRegionModifiers

Açıklamalar

FileLoadException , tam derleme adını belirtirse ve basit adla eşleşen ilk derlemenin farklı bir sürümü, kültürü veya ortak anahtar belirteci varsa assemblyRef oluşturulur. Yükleyici, basit adla eşleşen diğer derlemeler için yoklama işlemine devam etmez. .NET Framework 4'den başlayarak, uzak derlemelerde kodun yürütülmesi varsayılan olarak devre dışı bırakıldığından, FileLoadException uzak bir derleme belirtirse assemblyRef de oluşturulur. Uzak konumlardan yüklenen kodun yürütülmesini etkinleştirmek için yapılandırma öğesini kullanabilirsiniz <loadFromRemoteSources> .

Not

Yalnızca CodeBase özellik kümesiyle bir AssemblyName kullanmayın. CodeBase özelliği, derleme kimliğinin herhangi bir öğesini (ad veya sürüm gibi) sağlamaz, bu nedenle yükleme yönteminden Load bekleyebileceğiniz gibi, kimlik tarafından yükleme kurallarına göre gerçekleşmez. Bunun yerine, derleme yükleme gelen kuralları kullanılarak yüklenir. Yükten yükleme bağlamını kullanmanın dezavantajları hakkında bilgi için bkz Assembly.LoadFrom . Yöntem aşırı yüklemesi veya Derleme Yükleme için En İyi Yöntemler.

Not

Hem özellik hem AssemblyName.CodeBase de AssemblyName.Name özellik ayarlanırsa, derlemeyi yüklemeye yönelik ilk denemede görünen ad (özellik tarafından Assembly.FullName döndürülen sürüm, kültür vb.) kullanılır. Dosya bulunamazsa, CodeBase derlemeyi aramak için kullanılır. Derleme kullanılarak CodeBasebulunursa, görünen ad derlemeyle eşleştirilir. Eşleşme başarısız olursa, bir FileLoadException oluşturulur.

Ayrıca bkz.

Şunlara uygulanır

Load(Byte[], Byte[])

Kaynak:
Assembly.cs
Kaynak:
Assembly.cs
Kaynak:
Assembly.cs

Derlemeyi, isteğe bağlı olarak derleme için simgeler de dahil olmak üzere, yayılan bir derleme içeren ortak nesne dosya biçimi (COFF) tabanlı bir görüntüyle yükler.

public:
 static System::Reflection::Assembly ^ Load(cli::array <System::Byte> ^ rawAssembly, cli::array <System::Byte> ^ rawSymbolStore);
public static System.Reflection.Assembly Load (byte[] rawAssembly, byte[]? rawSymbolStore);
public static System.Reflection.Assembly Load (byte[] rawAssembly, byte[] rawSymbolStore);
static member Load : byte[] * byte[] -> System.Reflection.Assembly
Public Shared Function Load (rawAssembly As Byte(), rawSymbolStore As Byte()) As Assembly

Parametreler

rawAssembly
Byte[]

Yayılan derlemeyi içeren COFF tabanlı bir görüntü olan bayt dizisi.

rawSymbolStore
Byte[]

Derlemenin simgelerini temsil eden ham baytları içeren bir bayt dizisi.

Döndürülenler

Yüklenen derleme.

Özel durumlar

rawAssembly, null değeridir.

rawAssembly şu anda yüklü olan çalışma zamanı için geçerli bir derleme değil.

Açıklamalar

Bu yöntem aşırı yüklemesi her zaman kendi yalıtılmış yük bağlamında yeni Assembly bir nesne oluşturur.

Yalnızca .NET Framework: Bu yöntem kullanılarak yüklenen derlemenin güven düzeyi, çağıran derlemenin güven düzeyiyle aynıdır. Uygulama etki alanının güven düzeyine sahip bir bayt dizisinden derleme yüklemek için yöntem aşırı yüklemesini Load(Byte[], Byte[], SecurityContextSource) kullanın. Bayt dizilerini alan yöntemin aşırı yüklemeleriyle Load kanıt kullanımı hakkında daha fazla bilgi için yöntem aşırı yüklemesine Load(Byte[], Byte[], Evidence) bakın.

Şunlara uygulanır