Aracılığıyla paylaş


Tür Kitaplığını Derleme Olarak İçeri Aktarma

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ğıtmanız gerekmez. Önerilen yöntem budur.

  • Birlikte çalışma derlemelerini dağıtma: Birlikte çalışma derlemesine standart bir başvuru oluşturabilirsiniz. Bu durumda birlikte çalışma derlemesi uygulamanızla 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ı birlikte çalışma derlemelerini kullandığınızda, COM bileşeninin yazarı tarafından yayımlanan birincil birlikte çalışma derlemesinden tür bilgilerini ekleyebilirsiniz. Ancak, birincil birlikte çalışma derlemesini uygulamanızla dağıtmanız gerekmez.

Çoğu uygulama com bileşeninin tüm özelliklerini kullanmadığından, yalnızca tasarım zamanı birlikte çalışma derlemelerinin kullanılması 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 bkz . Nasıl yapılır: Tür Kitaplıklarına Başvuru Ekleme.

  • Tür Kitaplığı İç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 yapılır: Tür Kitaplıklarından Birlikte Çalışma Derlemeleri Oluşturma.

  • 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.exe ile aynı meta veri çıkışını üretir. Ancak, Tlbimp.exe aksine sınıfı bellek TypeLibConverter 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 kaynak kodu derlemede meta veri üretmek için çalışma zamanını hedefleyen bir derleyici ile derleyin.

    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 içeri aktarma işlemi hakkında daha fazla bilgi için bkz . Tür Kitaplığı-Derleme Dönüştürme Özeti.

Ayrıca bkz.