Tlbimp.exe (Tür Kitaplığı İçeri Aktarıcı)

Tür Kitaplığı İçeri Aktarma programı, COM tür kitaplığı içinde bulunan tür tanımlarını bir ortak dil çalışma zamanı derlemesi içindeki eşdeğer tanımlara dönüştürür. Tlbimp.exe'nin çıktısı, özgün tür kitaplığı içinde tanımlanan türler için çalışma zamanı meta verileri içeren bir ikili dosyadır (derleme). Bu dosyayı Ildasm.exegibi araçlarla inceleyebilirsiniz.

Bu araç, Visual Studio ile birlikte otomatik olarak yüklenir. Aracı çalıştırmak için Visual Studio Geliştirici Komut İstemi'ni veya Visual Studio Developer PowerShell'i kullanın.

Komut satırına şunu yazın:

Sözdizimi

tlbimp tlbFile [options]  

Parametreler

Bağımsız Değişken Description
tlbFile COM tür kitaplığı içeren herhangi bir dosyanın adı.
Seçenek Açıklama
/asmversion:versionnumber Üretilecek derlemenin sürüm numarasını belirtir. versionnumber değerini major.minor.build.revision biçiminde belirtin.
/Şirket:companyinformation Şirket bilgilerini çıktı derlemesine ekler.
/Telif hakkı:copyrightinformation Çıktı derlemesine telif hakkı bilgileri ekler. Bu bilgiler derlemenin Dosya Özellikleri iletişim kutusunda görüntülenebilir.
/delaysign Elde edilen ve tanımlayıcı bir ada sahip olan derlemeyi gecikmeli imzalama yöntemiyle imzalamak için kullanılacak Tlbimp.exe'yi belirtir. Bu seçeneği /keycontainer:, /keyfile: veya /publickey: seçeneğiyle belirtmeniz gerekir. Gecikmeli imzalama işlemi hakkında daha fazla bilgi için bkz. Derlemenin İmzasını Geciktirme.
/Yardım Araç için komut sözdizimini ve seçenekleri görüntüler.
/keycontainer:containername Containername tarafından belirtilen anahtar kapsayıcısında bulunan ortak/özel anahtar çiftini kullanarak sonuçta elde edilen derlemeyi tanımlayıcı adla imzalar.
/keyfile:filename Sonuçta elde edilen derlemeyi, yayımcının dosya adında bulunan resmi ortak/özel anahtar çiftini kullanarak tanımlayıcı bir adla imzalar.
/Makine:machinetype Belirtilen makine türünü (mikro işlemci) hedefleyen bir derleme oluşturur. Desteklenen makine türleri: x86, x64, Itanium ve Belirsiz.
/namespace:namespace Derlemenin oluşturulacağı ad alanını belirtir.
/noclassmembers Tlbimp.exe'nin sınıflara üye eklemesini önler. Bu, olası TypeLoadExceptionbir öğesini önler.
/nologo Microsoft başlangıç başlığı görüntüsünü bastırır.
/out:filename İçine meta veri tanımlarının yazılacağı çıktı dosyasının, derlemenin ve ad alanının adını belirtir. Tür kitaplığı, derlemenin ad alanını açıkça denetleen Arabirim Tanım Dili (IDL) özel özniteliğini belirtiyorsa , /out seçeneğinin derlemenin ad alanı üzerinde hiçbir etkisi olmaz. Bu seçeneği belirtmezseniz, Tlbimp.exe, girdi dosyasında tanımlanan asıl tür kitaplığıyla aynı ada sahip bir dosyaya meta verileri yazar ve ona bir .dll uzantısı atar. Çıktı dosyasının adı girdi dosyasının adıyla aynı ise, araç tür kitaplığı üzerine yazılmasını engellemek için bir hata üretir.
/Birincil Belirtilen tür kitaplığı için bir birincil birlikte çalışma derlemesi oluşturur. Derlemeyi tür kitaplığı yayıncısının oluşturduğunu belirten bilgiler derlemeye eklenir. Birincil birlikte çalışma derlemesi belirterek, bir yayıncının derlemesini, Tlbimp.exe kullanarak tür kitaplığından oluşturulan diğer derlemelerden ayırt edersiniz. /primary seçeneğini yalnızca Tlbimp.exe ile içeri aktardığınız tür kitaplığının yayımcısıysanız kullanmalısınız. Birincil birlikte çalışma derlemelerini tanımlayıcı bir adla imzalamanız gerektiğini unutmayın. Daha fazla bilgi için bkz . Birincil Birlikte Çalışma Derlemeleri.
/Ürün:productinformation Çıktı derlemesine ürün bilgileri ekler. Bu bilgiler derlemenin Dosya Özellikleri iletişim kutusunda görüntülenebilir.
/Productversion:productversioninformation Çıktı derlemesine ürün sürümü ile ilgili bilgiler ekler. Biçim kısıtlamaları yoktur. Bu bilgiler derlemenin Dosya Özellikleri iletişim kutusunda görüntülenebilir.
/publickey:filename Elde edilen derlemeyi imzalamak için kullanılacak ortak anahtarı içeren dosyayı belirtir. /publickey: yerine /keyfile: veya /keycontainer: seçeneğini belirtirseniz, Tlbimp.exe ortak anahtarı /keyfile: veya /keycontainer: ile sağlanan ortak/özel anahtar çiftinden oluşturur. /publickey: seçeneği test anahtarı ve gecikmeli imzalama senaryolarını destekler. Dosya, Sn.exe tarafından üretilen biçimdedir. Daha fazla bilgi için Bkz. Tanımlayıcı Ad Aracı'nda (Sn.exe) Sn.exe-p seçeneği.
/reference:filename Geçerli tür kitaplığı dışında tanımlanmış tür başvurularını çözümlemek için kullanılacak derleme dosyasını belirtir. /reference seçeneğini belirtmezseniz, Tlbimp.exe içeri aktarılan tür kitaplığının başvurduğunu tüm dış tür kitaplıklarını otomatik olarak özyinelemeli olarak içeri aktarır. /reference seçeneğini belirtirseniz, araç diğer tür kitaplıklarını içeri aktarmadan önce başvuruda bulunan derlemelerdeki dış türleri çözümlemeye çalışır.
/Sessiz -lik:warningnumber Belirtilen uyarının görüntülenmesini bastırır. Bu seçenek /silent ile kullanılamaz.
/silent Başarı iletilerinin görüntülenmesini bastırır. Bu seçenek /silence ile kullanılamaz.
/strictref Araç geçerli derlemedeki tüm başvuruları, /reference seçeneğiyle belirtilen derlemeleri veya kayıtlı birincil birlikte çalışma derlemelerini (PIA) çözümleyemediğinde tür kitaplığını içeri aktarmaz.
/strictref:nopia /strictref ile aynı, ancak PIA'ları yoksayar.
/sysarray Yönetilen Array tür olarak BIR COM stili SafeArray'i içeri aktarmak için aracı belirtir.
/tlbreference:filename Kayıt defterine danışmadan tür kitaplığı başvurularını çözümlemek için kullanılacak tür kitaplığı dosyasını belirtir.

Bu seçeneğin bazı eski tür kitaplığı biçimlerini yüklenmediğini unutmayın. Ancak, kayıt defteri veya geçerli dizin aracılığıyla, eski tür kitaplığı biçimlerini dolaylı olarak yine yükleyebilirsiniz.
/Marka:trademarkinformation Çıktı derlemesine ticari marka bilgileri ekler. Bu bilgiler derlemenin Dosya Özellikleri iletişim kutusunda görüntülenebilir.
/transform:transformname Meta verileri transformname parametresi tarafından belirtilen şekilde dönüştürür.

Transformname parametresinin yalnızca dispatch-interfaces (dispinterfaces) üzerindeki yöntemlerin [out, retval] parametrelerini dönüş değerlerine dönüştürmesi için dispret değerini belirtin.

Bu seçenek hakkında daha fazla bilgi için bu konunun ilerleyen bölümlerindeki örneklere bakın.
/Güvenli olmayan Arabirimleri, .NET Framework güvenlik denetimleri olmadan üretir. Bu şekilde sunulan bir yöntemi çağırmak güvenlik riski oluşturabilir. Bu tür kodları ortaya çıkarmanın getireceği riskleri bilmiyorsanız bu seçeneği kullanmamalısınız.
/Ayrıntılı Ayrıntılı modu belirtir; içeri aktarılan tür kitaplığı hakkında daha fazla bilgi görüntüler.
/VariantBoolFieldToBool VARIANT_BOOL Yapılardaki alanları öğesine Booleandönüştürür.
/? Araç için komut sözdizimini ve seçenekleri görüntüler.

Not

Tlbimp.exe için komut satırı seçenekleri büyük/küçük harfe duyarlı değildir ve herhangi bir sırayla sağlanabilir. Tek yapmanız gereken, onu benzersiz şekilde tanımlamak için seçeneği yeterince belirtmektir. Bu nedenle, /n, /nologo ve /ou ile eşdeğerdir: outfile.dll/out:outfile.dllile eşdeğerdir.

Açıklamalar

Tlbimp.exe dönüştürmeleri tüm tür Kitaplığında bir defada gerçekleştirir. Tek bir tür kitaplığı içinde tanımlanmış bir tür alt kümesi için tür bilgileri oluştururken bu aracı kullanamazsınız.

Derlemelere tanımlayıcı adlar atayabilmek genellikle yararlıdır veya gereklidir. Bu nedenle, Tlbimp.exe tanımlayıcı adlarla adlandırılmış derlemeler oluşturmak için gereken bilgileri sağlayan seçenekler içerir. Hem /keyfile: hem de /keycontainer: seçenekleri derlemeleri tanımlayıcı adlarla imzalar. Bu nedenle, aynı anda bu seçeneklerden yalnızca birini sağlamak mantıklı olur.

/reference seçeneğini birden çok kez kullanarak birden çok başvuru derlemesi belirtebilirsiniz.

Tlbimp.exe derleme oluşturma yöntemi nedeniyle, bir derlemeyi farklı mscorlib bir sürüme yeniden hedeflemek mümkün değildir. Örneğin, .NET Framework 2.0'ı hedefleyen bir derleme oluşturmak istiyorsanız, .NET Framework 2.0/3.0/3.5 SDK ile birlikte gönderilen Tlbimp.exe kullanılmalıdır. .NET Framework 4.x'i hedeflemek için .NET Framework 4.x SDK ile birlikte gönderilen Tlbimp.exe kullanılmalıdır.

Birden fazla tür kitaplığı içeren bir modülden bir tür kitaplığını içeri aktarırken, isteğe bağlı olarak tür kitaplık dosyasına bir kaynak kimliği eklenebilir. Tlbimp.exe bu dosyayı yalnızca geçerli dizinde ise ya da tam yolunu belirtirseniz bulabilir. Bu konunun ilerleyen kısımlarındaki örneğe bakın.

Örnekler

Aşağıdaki komut, .dll uzantısında myTest.tlb bulunan tür kitaplığıyla aynı ada sahip bir derleme oluşturur.

tlbimp myTest.tlb

Aşağıdaki komut, adlı myTest.dllbir derleme oluşturur.

tlbimp  myTest.tlb  /out:myTest.dll  

Aşağıdaki komut, .dll uzantısıyla ve tarafından MyModule.dll\1 belirtilen tür kitaplığıyla aynı ada sahip bir derleme oluşturur. MyModule.dll\1 geçerli dizinde bulunmalıdır.

tlbimp MyModule.dll\1  

Aşağıdaki komut, tür kitaplığının TestLib.dlladıyla myTestLib.dll bir derleme oluşturur. /transform:dispret seçeneği, tür kitaplığındaki dispinterfaces üzerindeki yöntemlerin [out, retval] parametrelerini yönetilen kitaplıktaki dönüş değerlerine dönüştürür.

tlbimp TestLib.dll /transform:dispret /out:myTestLib.dll  

Yukarıdaki örnekteki tür kitaplığı TestLib.dll, void döndüren ve [out, retval] parametresine sahip adlı SomeMethod bir dispinterface yöntemi içerir. Aşağıdaki kod, içinde TestLib.dlliçin SomeMethod giriş türü kitaplık yöntemi imzasıdır.

void SomeMethod([out, retval] VARIANT_BOOL*);  

/transform:dispret seçeneğinin belirtilmesi, Tlbimp.exe parametresini [out, retval]SomeMethod dönüş bool değerine dönüştürmesine neden olur. Aşağıda, /transform:dispret seçeneği belirtildiğinde Tlbimp.exe tarafından yönetilen kitaplıkta myTestLib.dll için SomeMethod oluşturulan yöntem imzası yer alır.

bool SomeMethod();  

/transform:dispret belirtmeden için yönetilen bir kitaplık oluşturmak için TestLib.dll Tlbimp.exe kullanırsanız, araç yönetilen kitaplığında myTestLib.dlliçin SomeMethod aşağıdaki yöntem imzasını oluşturur.

void SomeMethod(out bool x);  

Ayrıca bkz.