Aracılığıyla paylaş


Nasıl yapılır: CRT Kitaplık DLL'inden Bağımlılık Kaldırarak Kısmen Güvenilir Uygulama Oluşturma

Bu konuda, msvcm90.dll üzerindeki bağımlılığı kaldırarak Visual C++ kullanarak kısmen güvenilen bir Ortak Dil Çalışma Zamanı uygulamasının nasıl oluşturulacağı açıklanır.

/clr ile oluşturulan bir Visual C++ uygulamasının, C-Runtime Kitaplığı'nın parçası olan msvcm90.dll dosyasına bağımlılığı olacaktır. Uygulamanızın kısmi bir güven ortamında kullanılmasını istediğinizde, CLR DLL'nizde belirli kod erişimi güvenlik kurallarını zorunlu kılar. Bu nedenle, msvcm90.dll yerel kod içerdiğinden ve kod erişimi güvenlik ilkesi buna uygulanamadığından bu bağımlılığın kaldırılması gerekir.

Uygulamanız C-Runtime Kitaplığı'nın herhangi bir işlevini kullanmıyorsa ve bu kitaplık üzerindeki bağımlılığı kodunuzdan kaldırmak istiyorsanız , /NODEFAULTLIB:msvcmrt.lib bağlayıcı seçeneğini kullanmanız ve ptrustm.lib veya ptrustmd.lib ile bağlantı oluşturmanız gerekir. Bu kitaplıklar bir uygulamanın başlatılması ve başlatılmamış duruma getirilmesi için nesne dosyaları, başlatma kodu tarafından kullanılan özel durum sınıfları ve yönetilen özel durum işleme kodu içerir. Bu kitaplıklardan birine bağlandığınızda msvcm90.dll üzerindeki tüm bağımlılıklar kaldırılır.

Dekont

Derleme başlatma sırası, güven kitaplıklarını kullanan uygulamalar için farklı olabilir. Normal uygulamalar için derlemeler genellikle yüklendikleri sırayla kaldırılır, ancak bu garanti değildir. Kısmi güven uygulamaları için derlemeler genellikle yüklendikleri sırayla kaldırılır. Bu da garanti değildir.

Kısmen güvenilen karma (/clr) bir uygulama oluşturmak için

  1. msvcm90.dll bağımlılığını kaldırmak için bağlayıcıya /NODEFAULTLIB:msvcmrt.lib bağlayıcısı seçeneğini kullanarak bu kitaplığın dahil edilmemesi gerektiğini belirtmeniz gerekir. Bunun Visual Studio geliştirme ortamını kullanarak veya program aracılığıyla nasıl yapılacağı hakkında bilgi için bkz . /NODEFAULTLIB (Kitaplıkları Yoksay).

  2. Bağlayıcı giriş bağımlılıklarına güvenim kitaplıklarından birini ekleyin. Uygulamanızı yayın modunda oluşturuyorsanız ptrustm.lib kullanın. Hata ayıklama modu için ptrustmd.lib kullanın. Bunu Visual Studio geliştirme ortamını kullanarak veya program aracılığıyla yapma hakkında bilgi için bkz . . Bağlayıcı Girişi Olarak Lib Dosyaları.

Ayrıca bkz.

Karışık (Yerel ve Yönetilen) Derlemeler
Karışık Derlemeleri Başlatma
Karışık Derlemeler için Kitaplık Desteği
/link (Seçenekleri Bağlayıcıya Geçir)