Tlbexp.exe (Tür Kitaplığı Dışarı Aktarıcı)

Tür Kitaplığı Verme Programı, bir ortak dil çalışma zamanı derlemesinde tanımlanan türleri açıklayan bir tür kitaplığı üretir.

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 Geliştirici PowerShell'i kullanın.

Komut istemine şunu yazın:

Sözdizimi

tlbexp assemblyName [options]  

Parametreler

Bağımsız değişken Açıklama
Assemblyname Bir tür kitaplığının kendisi için dışarı aktarılacağı derleme.
Seçenek Açıklama
/asmpath:directory Derlemelerin aranacağı konumu belirtir. Bu seçeneği kullanırsanız, geçerli dizini de dahil olmak üzere, başvurulan derlemelerin aranacağı konumları açıkça belirtmeniz gerekir.

Asmpath seçeneğini kullandığınızda, Tür Kitaplığı Dışarı Aktarıcısı genel derleme önbelleğinde (GAC) bir derleme aramaz.
/Yardım Araç için komut sözdizimini ve seçenekleri görüntüler.
/names:filename Bir tür kitaplığındaki adların büyük küçük harfle nasıl yazılacağını belirtir. Dosya adı bağımsız değişkeni bir metin dosyasıdır. Dosyadaki her bir satır, tür kitaplığındaki bir adın büyük küçük harfle nasıl yazılacağını belirtir.
/nologo Microsoft başlangıç başlığı görüntüsünü bastırır.
/oldnames Bir tür adı çakışması varsa, Tlbexp.exe'yi donatılmış tür adlarını dışarı aktarmaya zorlar. .NET Framework sürüm 2.0'ın önceki sürümlerinde bunun varsayılan davranış olduğunu unutmayın.
/out:file Üretilecek tür kitaplığı dosyasının adını belirtir. Bu seçeneği atlarsanız, Tlbexp.exe, derlemeyle (derlemeyi içeren dosyayla aynı olması gerekmeyen, gerçek derleme adı) aynı adda ve .tlb uzantılı bir tür kitaplığı üretir.
/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.
/tlbreference:typelibraryname Tlbexp.exe'yi, kayıt defterine danışmadan tür kitaplığı başvurularını açıkça çözmeye zorlar. Örneğin, derleme B derleme A'ya başvurursa, kayıt defterinde belirtilen tür kitaplığına güvenmek yerine, bir açık tür kitaplığı başvurusu sağlamak için bu seçeneği kullanabilirsiniz. Tlbexp.exe, tür kitaplığı sürümünün derleme sürümüyle eşleşmesini sağlamak için bir sürüm denetimi yapar; tersi durumda, bir hata üretir.

Tlbreference seçeneğinin özniteliğin daha sonra başka bir tür tarafından uygulanan bir arabirime uygulandığı durumlarda ComImportAttribute kayıt defterine hala başvurduğunu unutmayın.
/tlbrefpath:path Başvurulan tür kitaplığının tam olarak belirtilen yolu.
/win32 64 bit'lik bir bilgisayarda derleme yaparken, bu seçenek Tlbexp.exe'nin bir 32 bit tür kitaplığı ürettiğini belirtir.
/win64 32 bit bir bilgisayarda derleme yaparken, bu seçenek Tlbexp.exe 64 bit tür kitaplığı oluşturduğunu belirtir.
/verbose Ayrıntılı modu belirtir; kendileri için bir tür kitaplığı üretilmesi gereken tüm başvurulan derlemelerin listesini görüntüler.
/? Araç için komut sözdizimini ve seçenekleri görüntüler.

Not

Tlbexp.exe için komut satırı seçenekleri büyük-küçük harfe duyarlıdır ve herhangi bir sırada sağlanabilir. Tek yapmanız gereken, onu benzersiz şekilde tanımlamak için seçeneği yeterince belirtmektir. Örneğin, /n /nologo ile eşdeğerdir ve /o:outfile.tlb /out:outfile.tlb ile eşdeğerdir.

Açıklamalar

Tlbexp.exe, derlemede tanımlanan türlerin tanımlarını içeren bir tür kitaplığı üretir. Visual Basic 6.0 gibi uygulamalar, derlemede tanımlanan .NET türlerine bağlanacak üretilmiş tür kitaplığını kullanabilir.

Önemli

Windows meta veri (.winmd) dosyalarını dışarı aktarmak için Tlbexp.exe'yi kullanamazsınız. Windows Çalışma Zamanı derlemelerinin dışarı aktarılması desteklenmez.

Tüm derleme bir kez dönüştürülür. Derlemede tanımlanan türlerin bir alt kümesi için tür bilgisi üretmek üzere Tlbexp.exe'yi kullanamazsınız.

Tür Kitaplığı İçeri Aktarıcısı (Tlbimp.exe) kullanılarak içeri aktarılan bir derlemeden tür kitaplığı oluşturmak için Tlbexp.exe kullanamazsınız. Onun yerine, Tlbimp.exe ile içeri aktarılan özgün tür kitaplığına başvurmanız gerekir. Tlbimp.exe kullanılarak içeri aktarılan derlemelere başvuran bir derlemeden bir tür kitaplığını içeri aktarabilirsiniz. Aşağıdaki örnekler bölümüne bakın.

Tlbexp.exe, üretilen tür kitaplıklarını geçerli çalışma dizinine veya çıktı dosyası için belirtilen dizine yerleştirir. Tek bir derleme, birçok tür kitaplığının üretilmesine neden olabilir.

Tlbexp.exe bir tür kitaplığı oluşturur ama bunu kaydetmez. Bu, hem tür kitaplığı oluşturan hem de kaydeden Derleme Kaydı aracının (Regasm.exe) aksinedir. COM ile bir tür kitaplığı üretmek ve kaydetmek için, Regasm.exe'yi kullanın.

veya /win64 seçeneğini belirtmezseniz/win32, Tlbexp.exe derlemeyi gerçekleştirmekte olduğunuz bilgisayarın türüne (32 bit veya 64 bit bilgisayar) karşılık gelen 32 bit veya 64 bit türünde bir kitaplık oluşturur. Çapraz derleme amacıyla, 32 bit bir bilgisayarda seçeneğini kullanarak /win64 64 bit tür kitaplığı oluşturabilir ve 64 bit bir bilgisayarda bu seçeneği kullanarak /win32 32 bit tür kitaplığı oluşturabilirsiniz. 32 bit tür kitaplıklarında SYSKIND değer olarak SYS_WIN32ayarlanır. 64 bit tür kitaplıklarında SYSKIND değer olarak SYS_WIN64ayarlanır. Tüm veri türü dönüştürmeleri (örneğin, ve UIntPtrgibi IntPtr işaretçi boyutundaki veri türleri) uygun şekilde dönüştürülür.

veya VT_DISPATCHdeğerini VT_UNKNOWN belirtmek SafeArraySubType için özniteliğini MarshalAsAttribute kullanırsanız Tlbexp.exe alanın sonraki kullanımını SafeArrayUserDefinedSubType yoksayar. Örneğin, aşağıdaki imzalar verildiğinde:

[return:MarshalAs(UnmanagedType.SafeArray, SafeArraySubType=VarEnum.VT_UNKNOWN, SafeArrayUserDefinedSubType=typeof(ConsoleKeyInfo))] public Array StructUnkSafe(){return null;}  
[return:MarshalAs(UnmanagedType.SafeArray, SafeArraySubType=VarEnum.VT_DISPATCH, SafeArrayUserDefinedSubType=typeof(ConsoleKeyInfo))] public Array StructDispSafe(){return null;}  

aşağıdaki tür kitaplığı oluşturulur:

[id(0x60020004)]  
HRESULT StructUnkSafe([out, retval] SAFEARRAY(IUnknown*)* pRetVal);  
[id(0x60020005)]  
HRESULT StructDispSafe([out, retval] SAFEARRAY(IDispatch*)* pRetVal);  

Tlbexp.exe alanı yoksaydığını SafeArrayUserDefinedSubType unutmayın.

Tür kitaplıkları derlemelerde bulunan tüm bilgileri barındıramayacağından, dışarı aktarma işlemi sırasında Tlbexp.exe bazı verileri atabilir. Dönüştürme işleminin açıklaması ve tür kitaplığına yayılan her bilgi parçasının kaynağının tanımlanması için Bkz . Tür Kitaplığı Dönüştürme Özeti Derlemesi.

Nesnenin yönetilmeyen kodda bir anlamı olmasa bile Tür Kitaplığı Verme işleminin TypedReference parametresi VARIANTolan yöntemleri TypedReference olarak dışarı aktardığını unutmayın. Parametreleri olan TypedReference yöntemleri dışarı aktardığınızda, Tür Kitaplığı Dışarı Aktarıcısı bir uyarı veya hata oluşturmaz ve sonuçta elde edilen tür kitaplığını kullanan yönetilmeyen kod düzgün çalışmaz.

Örnekler

Aşağıdaki komut, içinde myTest.dllbulunan derlemeyle aynı ada sahip bir tür kitaplığı oluşturur.

tlbexp myTest.dll  

Aşağıdaki komut, adlı clipper.tlbbir tür kitaplığı oluşturur.

tlbexp myTest.dll /out:clipper.tlb  

Aşağıdaki örnekte, bir tür kitaplığını Tlbimp.exe kullanılarak içeri aktarılan derlemelere başvuran bir derlemeden dışarı aktarmak için Tlbexp.exe'nin kullanılması gösterilmektedir.

İlk olarak tür kitaplığını myLib.tlb içeri aktarmak ve olarak myLib.dllkaydetmek için Tlbimp.exe kullanın.

tlbimp myLib.tlb /out:myLib.dll  

Aşağıdaki komut, önceki örnekte oluşturulan başvuruları myLib.dll derlemek Sample.dll, için C# derleyicisini kullanır.

CSC Sample.cs /reference:myLib.dll /out:Sample.dll  

Aşağıdaki komut, öğesine başvuran myLib.dllbir tür kitaplığı Sample.dll oluşturur.

tlbexp Sample.dll  

Ayrıca bkz.