PersistedAssemblyBuilder Sınıf
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 bir diskte veya akışta kalıcı hale getiren bir AssemblyBuilder uygulaması sağlar.
public ref class PersistedAssemblyBuilder sealed : System::Reflection::Emit::AssemblyBuilder
public sealed class PersistedAssemblyBuilder : System.Reflection.Emit.AssemblyBuilder
type PersistedAssemblyBuilder = class
inherit AssemblyBuilder
Public NotInheritable Class PersistedAssemblyBuilder
Inherits AssemblyBuilder
- Devralma
Açıklamalar
AssemblyBuilder.Save API'si başlangıçta .NET (Core)'a taşınmadı çünkü uygulama büyük ölçüde Windows'a özgü, taşınmamış yerel koda dayanıyordu. .NET 9, tamamen yönetilen ve kaydetmeyi destekleyen bir PersistedAssemblyBuilder uygulaması sağlayan Reflection.Emit sınıfını ekledi. Bu uygulamanın önceden var olan, çalışma zamanına özgü Reflection.Emit uygulamasına bağımlılığı yoktur. Yani, artık .NET'te iki farklı uygulama vardır: çalıştırılabilir ve kalıcı. Kalıcı derlemeyi çalıştırmak için önce bir bellek akışına veya dosyaya kaydedin, sonra yeniden yükleyin.
PersistedAssemblyBuilderönce yalnızca oluşturulan bir derlemeyi çalıştırabilir ve kaydedemeyebilirsiniz. Derleme yalnızca bellek içi olduğundan hata ayıklaması zordu. Dinamik derlemeyi bir dosyaya kaydetmenin avantajları şunlardır:
- Oluşturulan derlemeyi ILVerify gibi araçlarla doğrulayabilir veya derleyip ILSpy gibi araçlarla el ile inceleyebilirsiniz.
- Kaydedilen derleme, yeniden derlenmesi gerekmeden doğrudan yüklenebilir ve bu da uygulama başlatma süresini azaltabilir.
PersistedAssemblyBuilder örneği oluşturmak için PersistedAssemblyBuilder(AssemblyName, Assembly, IEnumerable<CustomAttributeBuilder>) oluşturucuyu kullanın.
coreAssembly parametresi temel çalışma zamanı türlerini çözümlemek için kullanılır ve başvuru derlemesi sürümünü çözümlemek için kullanılabilir:
Reflection.Emityalnızca derleyicinin üzerinde çalıştığı çalışma zamanı sürümüyle (genellikle in-proc) aynı çalışma zamanı sürümünde yürütülecek bir derleme oluşturmak için kullanılırsa, çekirdek derleme yalnızcatypeof(object).Assemblyolabilir. Aşağıdaki örnekte bir derlemenin nasıl oluşturulup akışa kaydedilip geçerli çalışma zamanı derlemesiyle nasıl çalıştırılabileceği gösterilmektedir:public static void CreateSaveAndRunAssembly() { PersistedAssemblyBuilder ab = new(new AssemblyName("MyAssembly"), typeof(object).Assembly); ModuleBuilder mob = ab.DefineDynamicModule("MyModule"); TypeBuilder tb = mob.DefineType( "MyType", TypeAttributes.Public | TypeAttributes.Class); MethodBuilder meb = tb.DefineMethod( "SumMethod", MethodAttributes.Public | MethodAttributes.Static, typeof(int), [typeof(int), typeof(int)]); ILGenerator il = meb.GetILGenerator(); il.Emit(OpCodes.Ldarg_0); il.Emit(OpCodes.Ldarg_1); il.Emit(OpCodes.Add); il.Emit(OpCodes.Ret); tb.CreateType(); using var stream = new MemoryStream(); ab.Save(stream); // Or pass filename to save into a file. stream.Seek(0, SeekOrigin.Begin); Assembly assembly = AssemblyLoadContext.Default.LoadFromStream(stream); MethodInfo method = assembly.GetType("MyType").GetMethod("SumMethod"); Console.WriteLine(method.Invoke(null, [5, 10])); }Belirli bir TFM'yi hedefleyen bir derleme oluşturmak için
kullanılırsa, kullanarak verilen TFM için başvuru derlemelerini açın ve için metadataloadcontext.coreassembly özelliğinin değerini kullanın. Bu değer, oluşturucunun bir .NET çalışma zamanı sürümünde çalışmasına ve farklı bir .NET çalışma zamanı sürümünü hedeflemesine olanak tanır. Çekirdek türlerine başvururken MetadataLoadContextörneği tarafından döndürülen türleri kullanmanız gerekir. Örneğin,typeof(int)yerine ada göreSystem.Int32'deMetadataLoadContext.CoreAssemblytürünü bulun.public static void CreatePersistedAssemblyBuilderCoreAssemblyWithMetadataLoadContext(string refAssembliesPath) { PathAssemblyResolver resolver = new(Directory.GetFiles(refAssembliesPath, "*.dll")); using MetadataLoadContext context = new(resolver); Assembly coreAssembly = context.CoreAssembly; PersistedAssemblyBuilder ab = new(new AssemblyName("MyDynamicAssembly"), coreAssembly); TypeBuilder typeBuilder = ab.DefineDynamicModule("MyModule").DefineType("Test", TypeAttributes.Public); MethodBuilder methodBuilder = typeBuilder.DefineMethod("Method", MethodAttributes.Public, coreAssembly.GetType(typeof(int).FullName), Type.EmptyTypes); // .. add members and save the assembly }
Yürütülebilir dosya için giriş noktası ayarlama
Yürütülebilir dosyanın giriş noktasını ayarlamak veya derleme dosyası için diğer seçenekleri ayarlamak için public MetadataBuilder GenerateMetadata(out BlobBuilder ilStream, out BlobBuilder mappedFieldData) yöntemini çağırabilir ve doldurulan meta verileri kullanarak derlemeyi istenen seçeneklerle oluşturabilirsiniz, örneğin:
public static void SetEntryPoint()
{
PersistedAssemblyBuilder ab = new(new AssemblyName("MyAssembly"), typeof(object).Assembly);
TypeBuilder tb = ab.DefineDynamicModule("MyModule").DefineType("MyType", TypeAttributes.Public | TypeAttributes.Class);
// ...
MethodBuilder entryPoint = tb.DefineMethod("Main", MethodAttributes.HideBySig | MethodAttributes.Public | MethodAttributes.Static);
ILGenerator il2 = entryPoint.GetILGenerator();
// ...
il2.Emit(OpCodes.Ret);
tb.CreateType();
MetadataBuilder metadataBuilder = ab.GenerateMetadata(out BlobBuilder ilStream, out BlobBuilder fieldData);
ManagedPEBuilder peBuilder = new(
header: PEHeaderBuilder.CreateExecutableHeader(),
metadataRootBuilder: new MetadataRootBuilder(metadataBuilder),
ilStream: ilStream,
mappedFieldData: fieldData,
entryPoint: MetadataTokens.MethodDefinitionHandle(entryPoint.MetadataToken));
BlobBuilder peBlob = new();
peBuilder.Serialize(peBlob);
// Create the executable:
using FileStream fileStream = new("MyAssembly.exe", FileMode.Create, FileAccess.Write);
peBlob.WriteContentTo(fileStream);
}
Sembolleri yayma ve PDB oluşturma
Simgelerin meta verileri, pdbBuilder örneğinde GenerateMetadata(BlobBuilder, BlobBuilder) yöntemini çağırdığınızda, PersistedAssemblyBuilder out parametresine doldurulur. Taşınabilir PDB ile derleme oluşturmak için:
- ISymbolDocumentWriter yöntemiyle ModuleBuilder.DefineDocument(String, Guid, Guid, Guid) örnekleri oluşturun. Yöntemin IL'sini yayarken, ilgili sembol bilgilerini de yayar.
-
PortablePdbBuilder yöntemi tarafından üretilen
pdbBuilderörneğini kullanarak bir GenerateMetadata(BlobBuilder, BlobBuilder) örneği oluşturun. -
PortablePdbBuilder'ı bir Blobolarak serileştirin veBlob'yi PDB dosya akışına yazın (sadece bağımsız bir PDB üretiyorsanız). - bir DebugDirectoryBuilder örneği oluşturun ve bir DebugDirectoryBuilder.AddCodeViewEntry (tek başına PDB) veya DebugDirectoryBuilder.AddEmbeddedPortablePdbEntryekleyin.
-
debugDirectoryBuilderörneği oluştururken isteğe bağlı PEBuilder bağımsız değişkenini ayarlayın.
Aşağıdaki örnekte, sembol bilgilerini yayma ve PDB dosyası oluşturma gösterilmektedir.
static void GenerateAssemblyWithPdb()
{
PersistedAssemblyBuilder ab = new PersistedAssemblyBuilder(new AssemblyName("MyAssembly"), typeof(object).Assembly);
ModuleBuilder mb = ab.DefineDynamicModule("MyModule");
TypeBuilder tb = mb.DefineType("MyType", TypeAttributes.Public | TypeAttributes.Class);
MethodBuilder mb1 = tb.DefineMethod("SumMethod", MethodAttributes.Public | MethodAttributes.Static, typeof(int), [typeof(int), typeof(int)]);
ISymbolDocumentWriter srcDoc = mb.DefineDocument("MySourceFile.cs", SymLanguageType.CSharp);
ILGenerator il = mb1.GetILGenerator();
LocalBuilder local = il.DeclareLocal(typeof(int));
local.SetLocalSymInfo("myLocal");
il.MarkSequencePoint(srcDoc, 7, 0, 7, 11);
...
il.Emit(OpCodes.Ret);
MethodBuilder entryPoint = tb.DefineMethod("Main", MethodAttributes.HideBySig | MethodAttributes.Public | MethodAttributes.Static);
ILGenerator il2 = entryPoint.GetILGenerator();
il2.BeginScope();
...
il2.EndScope();
...
tb.CreateType();
MetadataBuilder metadataBuilder = ab.GenerateMetadata(out BlobBuilder ilStream, out _, out MetadataBuilder pdbBuilder);
MethodDefinitionHandle entryPointHandle = MetadataTokens.MethodDefinitionHandle(entryPoint.MetadataToken);
DebugDirectoryBuilder debugDirectoryBuilder = GeneratePdb(pdbBuilder, metadataBuilder.GetRowCounts(), entryPointHandle);
ManagedPEBuilder peBuilder = new ManagedPEBuilder(
header: new PEHeaderBuilder(imageCharacteristics: Characteristics.ExecutableImage, subsystem: Subsystem.WindowsCui),
metadataRootBuilder: new MetadataRootBuilder(metadataBuilder),
ilStream: ilStream,
debugDirectoryBuilder: debugDirectoryBuilder,
entryPoint: entryPointHandle);
BlobBuilder peBlob = new BlobBuilder();
peBuilder.Serialize(peBlob);
using var fileStream = new FileStream("MyAssembly.exe", FileMode.Create, FileAccess.Write);
peBlob.WriteContentTo(fileStream);
}
static DebugDirectoryBuilder GeneratePdb(MetadataBuilder pdbBuilder, ImmutableArray<int> rowCounts, MethodDefinitionHandle entryPointHandle)
{
BlobBuilder portablePdbBlob = new BlobBuilder();
PortablePdbBuilder portablePdbBuilder = new PortablePdbBuilder(pdbBuilder, rowCounts, entryPointHandle);
BlobContentId pdbContentId = portablePdbBuilder.Serialize(portablePdbBlob);
// In case saving PDB to a file
using FileStream fileStream = new FileStream("MyAssemblyEmbeddedSource.pdb", FileMode.Create, FileAccess.Write);
portablePdbBlob.WriteContentTo(fileStream);
DebugDirectoryBuilder debugDirectoryBuilder = new DebugDirectoryBuilder();
debugDirectoryBuilder.AddCodeViewEntry("MyAssemblyEmbeddedSource.pdb", pdbContentId, portablePdbBuilder.FormatVersion);
// In case embedded in PE:
// debugDirectoryBuilder.AddEmbeddedPortablePdbEntry(portablePdbBlob, portablePdbBuilder.FormatVersion);
return debugDirectoryBuilder;
}
Ayrıca, kaynak ekleme ve kaynak dizin oluşturma gelişmiş PDB bilgileri eklemek için CustomDebugInformation örneğinden MetadataBuilder.AddCustomDebugInformation(EntityHandle, GuidHandle, BlobHandle) yöntemini çağırarak pdbBuilder ekleyebilirsiniz.
private static void EmbedSource(MetadataBuilder pdbBuilder)
{
byte[] sourceBytes = File.ReadAllBytes("MySourceFile2.cs");
BlobBuilder sourceBlob = new BlobBuilder();
sourceBlob.WriteBytes(sourceBytes);
pdbBuilder.AddCustomDebugInformation(MetadataTokens.DocumentHandle(1),
pdbBuilder.GetOrAddGuid(new Guid("0E8A571B-6926-466E-B4AD-8AB04611F5FE")), pdbBuilder.GetOrAddBlob(sourceBlob));
}
PersistedAssemblyBuilder ile kaynak ekleme
MetadataBuilder.AddManifestResource(ManifestResourceAttributes, StringHandle, EntityHandle, UInt32) çağırarak gerektiği kadar kaynak ekleyebilirsiniz. Akışlar, BlobBuilder bağımsız değişkenine geçirdiğiniz tek bir ManagedPEBuilder olarak birleştirilmelidir. Aşağıdaki örnek, kaynakların nasıl oluşturulacağını ve oluşturulan derlemeye nasıl eklendiğini gösterir.
public static void SetResource()
{
PersistedAssemblyBuilder ab = new(new AssemblyName("MyAssembly"), typeof(object).Assembly);
ab.DefineDynamicModule("MyModule");
MetadataBuilder metadata = ab.GenerateMetadata(out BlobBuilder ilStream, out _);
using MemoryStream stream = new();
ResourceWriter myResourceWriter = new(stream);
myResourceWriter.AddResource("AddResource 1", "First added resource");
myResourceWriter.AddResource("AddResource 2", "Second added resource");
myResourceWriter.AddResource("AddResource 3", "Third added resource");
myResourceWriter.Close();
byte[] data = stream.ToArray();
BlobBuilder resourceBlob = new();
resourceBlob.WriteInt32(data.Length);
resourceBlob.WriteBytes(data);
metadata.AddManifestResource(
ManifestResourceAttributes.Public,
metadata.GetOrAddString("MyResource.resources"),
implementation: default,
offset: 0);
ManagedPEBuilder peBuilder = new(
header: PEHeaderBuilder.CreateLibraryHeader(),
metadataRootBuilder: new MetadataRootBuilder(metadata),
ilStream: ilStream,
managedResources: resourceBlob);
BlobBuilder blob = new();
peBuilder.Serialize(blob);
// Create the assembly:
using FileStream fileStream = new("MyAssemblyWithResource.dll", FileMode.Create, FileAccess.Write);
blob.WriteContentTo(fileStream);
}
Aşağıdaki örnekte, oluşturulan derlemedeki kaynakların nasıl okunduğu gösterilmektedir.
public static void ReadResource()
{
Assembly readAssembly = Assembly.LoadFile(Path.Combine(
Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location),
"MyAssemblyWithResource.dll"));
// Use ResourceManager.GetString() to read the resources.
ResourceManager rm = new("MyResource", readAssembly);
Console.WriteLine("Using ResourceManager.GetString():");
Console.WriteLine($"{rm.GetString("AddResource 1", CultureInfo.InvariantCulture)}");
Console.WriteLine($"{rm.GetString("AddResource 2", CultureInfo.InvariantCulture)}");
Console.WriteLine($"{rm.GetString("AddResource 3", CultureInfo.InvariantCulture)}");
// Use ResourceSet to enumerate the resources.
Console.WriteLine();
Console.WriteLine("Using ResourceSet:");
ResourceSet resourceSet = rm.GetResourceSet(CultureInfo.InvariantCulture, createIfNotExists: true, tryParents: false);
foreach (DictionaryEntry entry in resourceSet)
{
Console.WriteLine($"Key: {entry.Key}, Value: {entry.Value}");
}
// Use ResourceReader to enumerate the resources.
Console.WriteLine();
Console.WriteLine("Using ResourceReader:");
using Stream stream = readAssembly.GetManifestResourceStream("MyResource.resources")!;
using ResourceReader reader = new(stream);
foreach (DictionaryEntry entry in reader)
{
Console.WriteLine($"Key: {entry.Key}, Value: {entry.Value}");
}
}
Note
Tüm üyeler için meta veri belirteçleri Save işleminde doldurulur. Varsayılan değerlere sahip olacak veya özel durumlar oluşturacaklarından, kaydetmeden önce oluşturulan türün belirteçlerini ve üyelerini kullanmayın. Başvuruda kullanılan, üretilmeyen türler için belirteç kullanmak güvenlidir.
Derleme yayma açısından önemli olmayan bazı API'ler uygulanmaz; örneğin, GetCustomAttributes() uygulanmaz. Çalışma zamanı uygulamasıyla, türü oluşturduktan sonra bu API'leri kullanabildiniz. Kalıcı AssemblyBuilderiçin NotSupportedException veya NotImplementedExceptionatarlar. Bu API'leri gerektiren bir senaryonuz varsa, dotnet/runtime deposundabir sorun oluşturun.
Derleme dosyaları oluşturmanın alternatif bir yolu için bkz. MetadataBuilder.
Warning
PersistedAssemblyBuilder API'ler, derleyiciler gibi diğer teknolojilere benzer şekilde, güvenilir girişe sahip tam güvenilir bir ortam gerektirir. oluşturulan IL için temel doğrulama dışında, öğesinin AssemblyBuilder içerebileceği bir kısıtlama yoktur. Buna üye adı, sayısı ve özel öznitelikler gibi ilişkili meta veriler için doğrulama dahildir.
Oluşturucular
| Name | Description |
|---|---|
| PersistedAssemblyBuilder(AssemblyName, Assembly, IEnumerable<CustomAttributeBuilder>) |
Bir PersistedAssemblyBuilder dosyaya veya akışa kaydedilebilen bir örnek oluşturur. |
Özellikler
| Name | Description |
|---|---|
| CodeBase |
Geçersiz.
Derlemenin konumunu özgün olarak belirtildiği gibi (örneğin, bir AssemblyName nesnede) alır. (Devralındığı yer: AssemblyBuilder) |
| CustomAttributes |
Bu derlemenin özel özniteliklerini içeren bir koleksiyon alır. (Devralındığı yer: Assembly) |
| EntryPoint |
Bu derlemenin giriş noktasını döndürür. (Devralındığı yer: AssemblyBuilder) |
| EscapedCodeBase |
Geçersiz.
Geçersiz.
Kod tabanını temsil eden kaçış karakterleri de dahil olmak üzere URI'yi alır. (Devralındığı yer: Assembly) |
| ExportedTypes |
Bu derlemede tanımlanan ve derleme dışında görünen ortak türlerin koleksiyonunu alır. (Devralındığı yer: Assembly) |
| FullName |
Geçerli dinamik derlemenin görünen adını alır. |
| HostContext |
Dinamik derlemenin oluşturulduğu konak bağlamını alır. (Devralındığı yer: AssemblyBuilder) |
| IsCollectible |
Bu dinamik derlemenin bir collectible AssemblyLoadContextiçinde tutulup tutulmadığını gösteren bir değer alır. (Devralındığı yer: AssemblyBuilder) |
| IsDynamic |
Geçerli derlemenin dinamik bir derleme olduğunu belirten bir değer alır. (Devralındığı yer: AssemblyBuilder) |
| IsFullyTrusted |
Geçerli derlemenin tam güvenle yüklenip yüklenmediğini gösteren bir değer alır. (Devralındığı yer: Assembly) |
| Location |
Gölge kopyalanmadıysa, bildirimi içeren yüklenen dosyanın konumunu kod tabanı biçiminde alır. (Devralındığı yer: AssemblyBuilder) |
| ManifestModule |
Derleme bildirimini içeren geçerli PersistedAssemblyBuilder modülü alır. |
| ReflectionOnly |
Dinamik derlemenin yalnızca yansıma bağlamında olup olmadığını belirten bir değer alır. (Devralındığı yer: AssemblyBuilder) |
Yöntemler
| Name | Description |
|---|---|
| CreateInstance(String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) |
Bu derlemeden belirtilen türü bulur ve isteğe bağlı büyük/küçük harfe duyarlı arama ve belirtilen kültüre, bağımsız değişkenlere ve bağlama ve etkinleştirme özniteliklerine sahip sistem etkinleştiricisini kullanarak bunun bir örneğini oluşturur. (Devralındığı yer: Assembly) |
| CreateInstance(String, Boolean) |
Belirtilen türü bu derlemeden bulur ve isteğe bağlı büyük/küçük harfe duyarlı arama ile sistem etkinleştiricisini kullanarak bir örneğini oluşturur. (Devralındığı yer: Assembly) |
| CreateInstance(String) |
Belirtilen türü bu derlemeden bulur ve büyük/küçük harfe duyarlı arama kullanarak sistem etkinleştiricisini kullanarak bir örneğini oluşturur. (Devralındığı yer: Assembly) |
| DefineDynamicModule(String) |
Bu derlemede adlandırılmış bir geçici dinamik modül tanımlar. (Devralındığı yer: AssemblyBuilder) |
| DefineDynamicModuleCore(String) |
Türetilmiş bir sınıfta geçersiz kılındığında, bu derlemede dinamik bir modül tanımlar. (Devralındığı yer: AssemblyBuilder) |
| Equals(Object) |
Bu örneğin belirtilen nesneye eşit olup olmadığını gösteren bir değer döndürür. (Devralındığı yer: AssemblyBuilder) |
| GenerateMetadata(BlobBuilder, BlobBuilder, MetadataBuilder) |
için PersistedAssemblyBuildermeta verileri oluşturur. |
| GenerateMetadata(BlobBuilder, BlobBuilder) |
için PersistedAssemblyBuildermeta verileri oluşturur. |
| GetCustomAttributes(Boolean) |
Geçerli AssemblyBuilderöğesine uygulanmış olan tüm özel öznitelikleri döndürür. (Devralındığı yer: AssemblyBuilder) |
| GetCustomAttributes(Type, Boolean) |
Geçerli AssemblyBuilderöğesine uygulanmış olan ve belirtilen öznitelik türünden türetilen tüm özel öznitelikleri döndürür. (Devralındığı yer: AssemblyBuilder) |
| GetCustomAttributesData() |
Geçerli CustomAttributeDataöğesine uygulanmış öznitelikler hakkında bilgi içeren nesneleri döndürürAssemblyBuilder. (Devralındığı yer: AssemblyBuilder) |
| GetDynamicModule(String) |
Belirtilen ada sahip dinamik modülü döndürür. (Devralındığı yer: AssemblyBuilder) |
| GetDynamicModuleCore(String) |
Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen ada sahip dinamik modülü döndürür. (Devralındığı yer: AssemblyBuilder) |
| GetExportedTypes() |
Bu derlemede tanımlanan dışarı aktarılan türleri alır. (Devralındığı yer: AssemblyBuilder) |
| GetFile(String) |
Bu derlemenin bildiriminin dosya tablosunda belirtilen dosya için bir FileStream alır. (Devralındığı yer: AssemblyBuilder) |
| GetFiles() |
Derleme bildiriminin dosya tablosundaki dosyaları alır. (Devralındığı yer: Assembly) |
| GetFiles(Boolean) |
Bir derleme bildiriminin dosya tablosundaki dosyaları alır ve kaynak modüllerinin dahil edilip edilmeyeceğini belirtir. (Devralındığı yer: AssemblyBuilder) |
| GetForwardedTypes() |
Bir derlemeyi bir diskte veya akışta kalıcı hale getiren bir AssemblyBuilder uygulaması sağlar. (Devralındığı yer: Assembly) |
| GetHashCode() |
Bu örneğin karma kodunu döndürür. (Devralındığı yer: AssemblyBuilder) |
| GetLoadedModules() |
Bu derlemenin parçası olan tüm yüklü modülleri alır. (Devralındığı yer: Assembly) |
| GetLoadedModules(Boolean) |
Bu derlemenin parçası olan tüm yüklü modülleri döndürür ve isteğe bağlı olarak kaynak modüllerini içerir. (Devralındığı yer: AssemblyBuilder) |
| GetManifestResourceInfo(String) |
Verilen kaynağın nasıl kalıcı hale getirildiği hakkında bilgi döndürür. (Devralındığı yer: AssemblyBuilder) |
| GetManifestResourceNames() |
Belirtilen bildirim kaynağını bu derlemeden yükler. (Devralındığı yer: AssemblyBuilder) |
| GetManifestResourceStream(String) |
Belirtilen bildirim kaynağını bu derlemeden yükler. (Devralındığı yer: AssemblyBuilder) |
| GetManifestResourceStream(Type, String) |
Bu derlemeden belirtilen türün ad alanı tarafından kapsamı belirlenmiş belirtilen bildirim kaynağını yükler. (Devralındığı yer: AssemblyBuilder) |
| GetModule(String) |
Bu derlemede belirtilen modülü alır. (Devralındığı yer: AssemblyBuilder) |
| GetModules() |
Bu derlemenin parçası olan tüm modülleri alır. (Devralındığı yer: Assembly) |
| GetModules(Boolean) |
Bu derlemenin parçası olan tüm modülleri alır ve isteğe bağlı olarak kaynak modüllerini içerir. (Devralındığı yer: AssemblyBuilder) |
| GetName() |
Bu derleme için bir AssemblyName alır. (Devralındığı yer: Assembly) |
| GetName(Boolean) |
AssemblyName Geçerli dinamik derleme oluşturulduğunda belirtilen değerini alır. |
| GetObjectData(SerializationInfo, StreamingContext) |
Geçersiz.
Bu derlemeyi yeniden doğrulamak için gereken tüm verilerle serileştirme bilgilerini alır. (Devralındığı yer: Assembly) |
| GetReferencedAssemblies() |
Bu AssemblyNametarafından başvurulan derlemeler için tamamlanmamış bir nesne listesi AssemblyBuilder alır. (Devralındığı yer: AssemblyBuilder) |
| GetSatelliteAssembly(CultureInfo, Version) |
Belirtilen kültür için uydu derlemesinin belirtilen sürümünü alır. (Devralındığı yer: AssemblyBuilder) |
| GetSatelliteAssembly(CultureInfo) |
Belirtilen kültür için uydu derlemesini alır. (Devralındığı yer: AssemblyBuilder) |
| GetType(String, Boolean, Boolean) |
Belirtilen türü, geçerli AssemblyBuilderiçinde tanımlanan ve oluşturulan türlerden alır. (Devralındığı yer: AssemblyBuilder) |
| GetType(String, Boolean) |
Type Derleme örneğinde belirtilen ada sahip nesneyi alır ve tür bulunamazsa isteğe bağlı olarak bir özel durum oluşturur. (Devralındığı yer: Assembly) |
| GetType(String) |
Type Derleme örneğinde belirtilen ada sahip nesneyi alır. (Devralındığı yer: Assembly) |
| GetTypes() |
Bu derlemede tanımlanan tüm türleri alır. (Devralındığı yer: Assembly) |
| IsDefined(Type, Boolean) |
Belirtilen öznitelik türünün bir veya daha fazla örneğinin bu üyeye uygulanıp uygulanmadığını gösteren bir değer döndürür. (Devralındığı yer: AssemblyBuilder) |
| LoadModule(String, Byte[], Byte[]) |
Bu derlemenin içindeki modülü, yayılan bir modülü veya kaynak dosyasını içeren ortak nesne dosyası biçimi (COFF) tabanlı bir görüntüyle yükler. Modülün simgelerini temsil eden ham baytlar da yüklenir. (Devralındığı yer: Assembly) |
| LoadModule(String, Byte[]) |
Bu derlemenin içindeki modülü, yayılan bir modülü veya kaynak dosyasını içeren ortak nesne dosyası biçimi (COFF) tabanlı bir görüntüyle yükler. (Devralındığı yer: Assembly) |
| MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| Save(Stream) |
Derlemeyi belirtilen akışa serileştirir. |
| Save(String) |
Derlemeyi diske kaydeder. |
| SetCustomAttribute(ConstructorInfo, Byte[]) |
Belirtilen özel öznitelik blobu kullanarak bu derlemede özel bir öznitelik ayarlayın. (Devralındığı yer: AssemblyBuilder) |
| SetCustomAttribute(CustomAttributeBuilder) |
Özel öznitelik oluşturucu kullanarak bu derlemede özel bir öznitelik ayarlayın. (Devralındığı yer: AssemblyBuilder) |
| SetCustomAttributeCore(ConstructorInfo, ReadOnlySpan<Byte>) |
Türetilmiş bir sınıfta geçersiz kılındığında, bu derlemede özel bir öznitelik ayarlar. (Devralındığı yer: AssemblyBuilder) |
| ToString() |
Derlemenin görünen adı olarak da bilinen tam adını döndürür. (Devralındığı yer: Assembly) |
Ekinlikler
| Name | Description |
|---|---|
| ModuleResolve |
Ortak dil çalışma zamanı sınıf yükleyicisi bir derlemenin iç modülüne yapılan başvuruyu normal yollarla çözümleyemediğinde gerçekleşir. (Devralındığı yer: Assembly) |
Uzantı Metotları
| Name | Description |
|---|---|
| GetCustomAttribute(Assembly, Type) |
Belirtilen bir derlemeye uygulanan belirtilen türde bir özel özniteliği alır. |
| GetCustomAttribute<T>(Assembly) |
Belirtilen bir derlemeye uygulanan belirtilen türde bir özel özniteliği alır. |
| GetCustomAttributes(Assembly, Type) |
Belirtilen bir derlemeye uygulanan belirtilen türde özel özniteliklerden oluşan bir koleksiyonu alır. |
| GetCustomAttributes(Assembly) |
Belirtilen bir derlemeye uygulanan özel öznitelik koleksiyonunu alır. |
| GetCustomAttributes<T>(Assembly) |
Belirtilen bir derlemeye uygulanan belirtilen türde özel özniteliklerden oluşan bir koleksiyonu alır. |
| GetExportedTypes(Assembly) |
Bir derlemeyi bir diskte veya akışta kalıcı hale getiren bir AssemblyBuilder uygulaması sağlar. |
| GetModules(Assembly) |
Bir derlemeyi bir diskte veya akışta kalıcı hale getiren bir AssemblyBuilder uygulaması sağlar. |
| GetTypes(Assembly) |
Bir derlemeyi bir diskte veya akışta kalıcı hale getiren bir AssemblyBuilder uygulaması sağlar. |
| IsDefined(Assembly, Type) |
Belirtilen türde özel özniteliklerin belirtilen bir derlemeye uygulanıp uygulanmadığını gösterir. |
| TryGetRawMetadata(Assembly, Byte*, Int32) |
ile MetadataReaderkullanmak üzere derlemenin meta veri bölümünü alır. |