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 konu msvcm90.dll öğesine bağımlılığı kaldırarak Visual C++ kullanıp kısmen güvenilir bir Ortak Dil Çalışma Zamanı uygulamasının nasıl oluşturulabileceğini açıklamaktadır.

/clr ile oluşturulmuş bir Visual C++ uygulamasının, C-Çalışma Zamanı Kitaplığı'nın parçası olan msvcm90.dll'ye bir bağımlılığı olacaktır. Uygulamanızın kısmi güven ortamında kullanılmasını istiyorsanız, CLR, DLL'deki güvenlik kurallarına erişim için belirli bir kod gerektirecektir. Bu yüzden, msvcm90.dll yerel kod içerdiğinden ve kod erişimi güvenlik ilkesi üzerine zorlanamayacağından bu bağımlılığı kaldırmak gerekecektir.

Uygulamanız C-Çalışma Zamanı Kitaplığının hiçbir işlevselliğini kullanmıyorsa ve kodunuzdan bu kitaplığa bağımlılığı kaldırmak isterseniz, /NODEFAULTLIB:msvcmrt.lib bağlayıcı seçeneğini kullanmanız ve ptrustm.lib ya da ptrustmd.lib ile bağlamanız gerekir. Bu kitaplıklar, bir uygulamaya ilişkin başlatmayı ve başlatmayı geri almayı, başlatma kodu tarafından kullanılan özel durum sınıflarını ve yönetilen özel durum işleme kodunu içerir. Bu kütüphanelerin birinde bağlama msvcm90.dll öğesine herhangi bir bağımlılığı kaldıracaktır.

Not

Derleme başlatmasını geri alma sırasını ptrust kitaplıklarını kullanan uygulamalar için farklılık gösterebilir. Normal uygulamalarda, birleştirmeler genellikle yüklendikleri sıranın tersinde kaldırılır, ancak bu garanti edilmez. Kısmi güven uygulamaları için, birleştirmeler genellikle yüklendikleri sırayla kaldırılır. Bu da garanti edilemez.

Kısmen güvenilen karışık bir (/ clr) uygulaması oluşturmak için

  1. msvcm90.dll'e bağımlılığı kaldırmak için /NODEFAULTLIB:msvcmrt.lib bağlayıcı seçeneğini kullanarak bağlayıcıya bu kitaplığı içermemesini belirtmeniz gerekir. Visual Studio geliştirme ortamı kullanarak veya programlı olarak bunun nasıl gerçekleştirileceği hakkında daha fazla bilgi için bkz./ NODEFAULTLIB (kitaplıklar yoksaymak).

  2. Ptrustm kitaplıklarından birini bağlayıcı giriş bağımlılıklarına ekleyin. Uygulamanızı yayımlama modunda oluşturuyorsanız ptrustm.lib kullanın. Hata ayıklama modu için ptrustmd.lib kullanın. Visual Studio geliştirme ortamı kullanarak veya programlı olarak bunun nasıl gerçekleştirileceği hakkında daha fazla bilgi için bkz.Bağlayıcı giriş .lib Dosyalar.

Ayrıca bkz.

Başvuru

/Bağlantı (Geç Seçenekler için bağlayıcı)

Kavramlar

Karışık (Yerel ve Yönetilen) Derlemeler

Karışık Derlemeleri Başlatma

Karışık Derlemeler için Kitaplık Desteği

Diğer Kaynaklar

Yerelde ve.NET Framework Kodunda Güvenlik