Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
.NET Framework tabanlı bileşenler için kayıtsız etkinleştirme, COM bileşenleri için olduğundan biraz daha karmaşıktır. Kurulum iki manifesto gerektirir:
YÖNETILEN bileşeni tanımlamak için COM uygulamalarının Win32 stili bir uygulama bildirimi olmalıdır.
.NET Framework tabanlı bileşenler, çalışma zamanında gereken etkinleştirme bilgileri için bir bileşen bildirimine sahip olmalıdır.
Bu konuda bir uygulama bildiriminin bir uygulamayla nasıl ilişkilendirilecekleri açıklanır; bir bileşen bildirimini bir bileşenle ilişkilendirmek; ve bir bileşen bildirimini bir derlemeye ekleyin.
Uygulama bildirimi oluşturma
XML düzenleyicisi kullanarak, bir veya daha fazla yönetilen bileşenle birlikte çalışabilen COM uygulamasının sahip olduğu uygulama bildirimini oluşturun (veya değiştirin).
Dosyanın başına aşağıdaki standart üst bilgiyi ekleyin:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> </assembly>Bildirim öğeleri ve öznitelikleri hakkında bilgi için bkz. Uygulama Bildirimleri.
Bildirimin sahibini belirleyin. Aşağıdaki örnekte,
myComAppbildirim dosyasının sahibi sürüm 1'dir.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity type="win32" name="myOrganization.myDivision.myComApp" version="1.0.0.0" processorArchitecture="msil" /> </assembly>Bağımlı derlemeleri tanımlama. Aşağıdaki örnekte,
myComAppöğesinemyManagedCompbağlıdır.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity type="win32" name="myOrganization.myDivision.myComApp" version="1.0.0.0" processorArchitecture="x86" publicKeyToken="8275b28176rcbbef" /> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="myOrganization.myDivision.myManagedComp" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="8275b28176rcbbef" /> </dependentAssembly> </dependency> </assembly>Bildirim dosyasını kaydedin ve adlandırın. Uygulama bildiriminin adı, derleme yürütülebilir dosyasının ve ardından .manifest uzantısının adıdır. Örneğin, myComApp.exe uygulaması için bildirim dosyasının adı myComApp.exe.manifest'tir.
COM uygulamasıyla aynı dizine bir uygulama bildirimi yükleyebilirsiniz. Alternatif olarak, uygulamanın .exe dosyasına kaynak olarak ekleyebilirsiniz. Daha fazla bilgi için bkz. Yan Yana Derlemeler Hakkında.
Bileşen bildirimi oluşturun
XML düzenleyicisi kullanarak yönetilen derlemeyi açıklamak için bir bileşen bildirimi oluşturun.
Dosyanın başına aşağıdaki standart üst bilgiyi ekleyin:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> </assembly>Dosyanın sahibini belirleyin.
<assemblyIdentity>Uygulama bildirim dosyasındaki<dependentAssembly>öğesinin öğesi, bileşen bildirimindeki öğeyle eşleşmelidir. Aşağıdaki örnekte,myManagedCompbildirim dosyasının sahibi sürüm 1.2.3.4'dür.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity name="myOrganization.myDivision.myManagedComp" version="1.2.3.4" publicKeyToken="8275b28176rcbbef" processorArchitecture="msil" /> </assembly>Derlemedeki her sınıfı tanımlayın. yönetilen derlemedeki
<clrClass>her sınıfı benzersiz olarak tanımlamak için öğesini kullanın.<assembly>öğesinin bir alt öğesi olan öğe, aşağıdaki tabloda açıklanan özniteliklere sahiptir.Özellik Description Gerekli clsidEtkinleştirilecek sınıfı belirten tanımlayıcı. Yes descriptionKullanıcıyı bileşen hakkında bilgilendiren bir dize. Boş bir dize varsayılandır. Hayı nameYönetilen sınıfı temsil eden bir dize. Yes progidGeç bağlı etkinleştirme için kullanılacak tanımlayıcı. Hayı threadingModelCOM iş parçacığı oluşturma modeli. "Her ikisi" varsayılan değerdir. Hayı runtimeVersionKullanılacak ortak dil çalışma zamanı (CLR) sürümünü belirtir. Bu özniteliği belirtmezseniz ve CLR zaten yüklenmemişse, bileşen CLR sürüm 4'ünden önce yüklenen en son CLR ile yüklenir. v1.0.3705, v1.1.4322 veya v2.0.50727 belirtirseniz, sürüm otomatik olarak CLR sürüm 4'ün (genellikle v2.0.50727) önceki en son yüklü CLR sürümüne iletilir. CLR'nin başka bir sürümü zaten yüklüyse ve belirtilen sürüm işlem içinde yan yana yüklenebiliyorsa, belirtilen sürüm yüklenir; aksi takdirde, yüklenen CLR kullanılır. Bu bir yük hatasına neden olabilir. Hayı tlbidSınıf hakkındaki tür bilgilerini içeren tür kitaplığının tanımlayıcısı. Hayı Tüm öznitelik etiketleri büyük/küçük harfe duyarlıdır. OLE/COM ObjectViewer (Oleview.exe) ile derleme için dışarı aktarılan tür kitaplığını görüntüleyerek CLSID'leri, ProgID'leri, iş parçacığı modellerini ve çalışma zamanı sürümünü alabilirsiniz.
Aşağıdaki bileşen bildirimi,
testClass1vetestClass2sınıflarını tanımlar.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity name="myOrganization.myDivision.myManagedComp" version="1.2.3.4" publicKeyToken="8275b28176rcbbef" /> <clrClass clsid="{65722BE6-3449-4628-ABD3-74B6864F9739}" progid="myManagedComp.testClass1" threadingModel="Both" name="myManagedComp.testClass1" runtimeVersion="v1.0.3705"> </clrClass> <clrClass clsid="{367221D6-3559-3328-ABD3-45B6825F9732}" progid="myManagedComp.testClass2" threadingModel="Both" name="myManagedComp.testClass2" runtimeVersion="v1.0.3705"> </clrClass> <file name="MyManagedComp.dll"> </file> </assembly>Bildirim dosyasını kaydedin ve adlandırın. Bileşen bildiriminin adı, derleme kitaplığının ve ardından .manifest uzantısının adıdır. Örneğin, myManagedComp.dll myManagedComp.manifest şeklindedir.
Bileşen bildirimini derlemeye kaynak olarak eklemelisiniz.
Yönetilen bir derlemeye bileşen bildirimi eklemek için
Aşağıdaki deyimi içeren bir kaynak betiği oluşturun:
1 RT_MANIFEST myManagedComp.manifestBu deyimde,
myManagedComp.manifestkatıştırılmakta olan bileşen bildiriminin adıdır. Bu örnekte, betik dosyası adı şeklindedirmyresource.rc.Microsoft Windows Kaynak Derleyicisi 'ni (Rc.exe) kullanarak betiği derleyin. Komut istemine aşağıdaki komutu yazın:
rc myresource.rcRc.exe kaynak dosyasını üretir
myresource.res.Derlemenin kaynak dosyasını yeniden derleyin ve /win32res seçeneğini kullanarak kaynak dosyasını belirtin:
/win32res:myresource.resmyresource.resEkli kaynakları içeren kaynak dosyasının adıdır.