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.
COM türü tanımları genellikle bir tür kitaplığında bulunur. Buna karşılık, CLS uyumlu derleyiciler bir derlemede tür meta verileri oluşturur. Tür bilgilerinin iki kaynağı oldukça farklıdır. Bu konuda, bir tür kitaplığından meta veri oluşturmaya yönelik teknikler açıklanmaktadır. Sonuçta elde edilen derleme birlikte çalışma derlemesi olarak adlandırılır ve içerdiği tür bilgileri .NET Framework uygulamalarının COM türlerini kullanmasını sağlar.
Bu tür bilgileri uygulamanız için kullanılabilir hale getirmenin iki yolu vardır:
Yalnızca tasarım zamanı birlikte çalışma derlemelerini kullanarak: .NET Framework 4'ten başlayarak, derleyiciye birlikte çalışma derlemesindeki tür bilgilerini yürütülebilir dosyanıza eklemesini belirtebilirsiniz. Derleyici yalnızca uygulamanızın kullandığı tür bilgilerini ekler. Birlikte çalışma derlemesini uygulamanızla dağıtmak zorunda değilsiniz. Önerilen teknik budur.
Birlikte çalışma derlemelerini dağıtma: Birlikte çalışma derlemesine standart bir referans oluşturabilirsiniz. Bu durumda interop derlemesi, uygulamanızla birlikte dağıtılmalıdır. Bu tekniği kullanıyorsanız ve özel bir COM bileşeni kullanmıyorsanız, yönetilen kodunuzla birleştirmek istediğiniz COM bileşeninin yazarı tarafından yayımlanan birincil birlikte çalışma derlemesine (PIA) her zaman başvurun. Birincil birlikte çalışma derlemelerini oluşturma ve kullanma hakkında daha fazla bilgi için bkz. Birincil Birlikte Çalışma Derlemeleri.
Yalnızca tasarım zamanı kullanımına yönelik birlikte çalışma derlemelerini kullandığınızda, COM bileşeninin yazarı tarafından yayımlanan birincil birlikte çalışma derlemesinden tür bilgilerini gömebilirsiniz. Ancak, birincil birlikte çalışma derlemesini uygulamanızla dağıtmanız gerekmez.
Yalnızca tasarım zamanı birlikte çalışma derlemelerinin kullanılması, çoğu uygulama bir COM bileşeninin tüm özelliklerini kullanmadığından, uygulamanızın boyutunu küçültür. Derleyici, tür bilgilerini eklerken çok verimlidir; uygulamanız COM arabiriminde yöntemlerden yalnızca bazılarını kullanıyorsa, derleyici kullanılmayan yöntemleri eklemez. Katıştırılmış tür bilgilerine sahip bir uygulama başka bir uygulamayla etkileşime geçtiğinde veya birincil birlikte çalışma derlemesi kullanan bir uygulamayla etkileşime geçtiğinde, ortak dil çalışma zamanı aynı ada sahip iki türün aynı COM türünü temsil edip etmediğini belirlemek için tür eşdeğerliği kurallarını kullanır. COM nesnelerini kullanmak için bu kuralları bilmeniz gerekmez. Ancak, kurallarla ilgileniyorsanız bkz. Tür Eşdeğerliği ve Katıştırılmış Birlikte Çalışma Türleri.
Meta Veri Oluşturma
COM tür kitaplıkları, Loanlib.tlb gibi bir .tlb uzantısına sahip tek başına dosyalar olabilir. Bazı tür kitaplıkları bir .dll veya .exe dosyasının kaynak bölümüne eklenir. Tür kitaplığı bilgilerinin diğer kaynakları .olb ve .ocx dosyalarıdır.
Hedef COM türünüzün uygulamasını içeren tür kitaplığını bulduklarından sonra, tür meta verilerini içeren bir birlikte çalışma derlemesi oluşturmak için aşağıdaki seçeneklere sahip olursunuz:
Visual Studio
Visual Studio, bir tür kitaplığındaki COM türlerini otomatik olarak bir derlemedeki meta veriye dönüştürür. Yönergeler için Nasıl Yapılır: Tür Kitaplıklarına Başvuru Ekleme bölümüne bakın.
Type Library İçeri Aktarıcısı (Tlbimp.exe)
Tür Kitaplığı İçeri Aktarıcısı, sonuçta elde edilen birlikte çalışma dosyasında meta verileri ayarlamak için komut satırı seçenekleri sağlar, mevcut bir tür kitaplığından türleri içeri aktarır ve birlikte çalışma derlemesi ile ad alanı oluşturur. Yönergeler için bkz. Nasıl: Tür Kitaplıklarından Interop Derlemeleri Oluşturulur.
System.Runtime.InteropServices.TypeLibConverter sınıfı
Bu sınıf, bir tür kitaplığındaki ortak sınıfları ve arabirimleri bir derleme içindeki meta veriye dönüştürmek için yöntemler sağlar. Tlbimp.exeile aynı meta veri çıkışını üretir. Ancak, Tlbimp.exe'nin aksine, TypeLibConverter sınıfı, bellek içi tür kitaplığını meta veriye dönüştürebilir.
Özel sarmalayıcılar
Tür kitaplığı kullanılamadığında veya yanlış olduğunda, bir seçenek yönetilen kaynak kodunda sınıfın veya arabirimin yinelenen tanımını oluşturmaktır. Daha sonra bir derleyiciyle çalışma zamanını hedefleyen kaynak kodunu derleyerek bir assemblerda meta veriyi oluşturun.
COM türlerini el ile tanımlamak için aşağıdaki öğelere erişiminiz olmalıdır:
Tanımlanan ortak sınıfların ve arabirimlerin kesin açıklamaları.
Uygun .NET Framework sınıf tanımlarını oluşturabilen C# derleyicisi gibi bir derleyici.
Kitaplık-derleme dönüştürme kuralları türü hakkında bilgi.
Özel sarmalayıcı yazmak gelişmiş bir tekniktir. Özel sarmalayıcı oluşturma hakkında ek bilgi için bkz. Standart Sarmalayıcıları Özelleştirme.
COM birlikte çalışma import etme süreci hakkında daha fazla bilgi için bkz. Tür Kitaplığı-Derleme Çeviri Özeti.
Ayrıca bakınız
- TypeLibConverter
- COM Bileşenlerini .NET Framework'e Gösterme
- Tür Kitaplığı-Derleme Dönüştürme Özeti
- Tlbimp.exe (Tür Kitaplığı İçeri Aktarıcı)
- Standart Sarmalayıcıları Özelleştirme
- Yönetilen Kodda COM Türlerini Kullanma
- Birlikte Çalışma Projesi Derleme İşlemi
- Birlikte Çalışma Uygulaması Dağıtma
- Nasıl yapılır: Tür Kitaplıklarına Başvuru Ekleme
- Tür Kitaplıklarından Interop Derlemeleri Nasıl Oluşturulur