Yalıtılmış Uygulama ve Yan Yana Derleme Kavramları
Bir uygulama, tüm bileşenleri yan yana derlemeler ise yalıtılmış uygulama olarak kabul edilir.Yan yana derleme, birlikte dağıtılan ve bir uygulama tarafından çalışma zamanında kullanılabilir hale getirilen kaynaklar topluluğudur (bir grup DLL dosyası, windows sınıfları, COM sunucuları, tür kitaplıkları veya arabirimler).Genellikle, yan yana derleme, bir ila birden fazla DLL dosyasından oluşur.
Paylaşılan veya özel
Yan yana derleme, paylaşılan veya özel olabilir.Paylaşılan yan yana derlemeler, bildirimlerinde derlemeye bağımlılık belirten birden fazla uygulama tarafından kullanılabilir.Yan yana derlemenin birden fazla sürümü, aynı anda çalışan farklı uygulamalarla paylaşılabilir.Özel derleme, bir uygulamayla birlikte dağıtılarak o uygulama tarafından özel olarak kullanılabilir hale getirilen derlemedir.Özel derlemeler, uygulamanın yürütülebilir dosyasını veya alt klasörlerinden birini içeren klasörüne yüklenir.
Bildirimler ve arama sırası
Yalıtılmış uygulamalar ve yan yana derlemeler bildirimleri ile açıklanır.Bildirim, harici bir dosyada olabilir veya bir uygulama ya da derleme kaynağı olarak gömülü bir XML belgesidir.Yalıtılmış bir uygulamanın bildirim dosyası, uygulamanın çalışma zamanında bağlanması gereken paylaşılan yan yana derlemelerin adlarını ve sürümlerini yönetmek üzere kullanılır.Yan yana derlemenin bildirimi; yan yana derlemelerin adlarını, sürümlerini, kaynaklarını ve bağımlı derlemelerini belirtir.Paylaşılan bir yan yana derlemenin bildirimi, %WINDIR%\WinSxS\Manifests\ klasörüne yüklenir.Özel bir derleme söz konusu olduğunda, bildirimi, DLL içine bir kimliği 1'e eşit olan bir kaynak olarak eklemenizi öneririz.Özel derlemeye DLL'ninki ile aynı adı verebilirsiniz.Daha fazla bilgi için bkz. Özel Derlemeler.
Yürütme sırasında Windows, karşılık gelen yan yana derlemeyi aramak ve yüklemek amacıyla uygulama bildirimindeki derleme bilgilerini kullanır.Yalıtılmış bir uygulama bir derleme bağımlılığı belirtiyorsa, işletim sistemi öncelikle %WINDIR%\WinSxS\ klasöründeki yerel derleme önbelleğindeki paylaşılan derlemeler arasında derleme için arama yapar.Gerekli derleme bulunamadığında, işletim sistemi uygulamanın dizin yapısının klasöründe özel bir derleme için arama yapar.Daha fazla bilgi için bkz. Derleme Arama Sırası.
Bağımlılıkları değiştirme
Bir uygulama dağıtıldıktan sonra, yan yana derleme bağımlılıklarını, Yayımcı Yapılandırma Dosyaları ve Uygulama Yapılandırma Dosyaları üzerinde değişiklik yaparak değiştirebilirsiniz.Yayımcı ilkesi dosyası olarak da bilinen yayımcı yapılandırma dosyası; uygulamaları ve derlemeleri, genel olarak, yan yana derlemenin bir sürümünü kullanırken aynı derlemenin başka bir sürümünü kullanmaya yönlendiren bir XML dosyasıdır.Örneğin, bir hata düzeltmesi veya güvenlik düzeltmesi yan yana derleme için dağıtıldığında ve tüm uygulamaları düzeltilmiş sürümü kullanmak üzere yeniden yönlendirmek istediğinizde bağımlılığı değiştirebilirsiniz.Uygulama yapılandırma dosyası, belirli bir uygulamayı yan yana bir derlemenin bir sürümünden aynı derlemenin başka bir sürümünü kullanmaya yönlendiren bir XML dosyasıdır.Uygulama yapılandırma dosyasını, belirli bir uygulamayı yan yana derlemenin yayımcı yapılandırma dosyasında tanımlanandan farklı bir sürümünü kullanmaya yeniden yönlendirebilirsiniz.Daha fazla bilgi için bkz. Yapılandırma.
Visual C++ kitaplıkları
Visual Studio 2005 ve Visual Studio 2008'de; ATL, MFC, CRT, Standart C++, OpenMP ve MSDIA gibi yeniden dağıtılabilir kitaplıklar, yerel derleme önbelleğine paylaşılan yan yana derlemeler olarak dağıtılmıştır.Geçerli sürümde, yeniden dağıtılabilir kitaplıklar merkezi dağıtım kullanmaktadır.Varsayılan olarak, Visual C++ kullanılarak oluşturulan tüm uygulamalar, son ikili dosyada gömülü bildirimle oluşturulur ve bildirim Visual C++ kitaplıklarındaki iki dosyanın bağımlılıklarını açıklar.Visual C++ uygulamaları için bildirim oluşturma konusunu anlamak üzere bkz. C/C++ Programları Bildirim Üretimini Anlama.Bildirim; kullandıkları ya da yerel dağıtım kullanan kitaplıklara statik olarak bağlı uygulamalar için gerekli değildir.Dağıtım hakkında daha fazla bilgi için bkz. Visual C++ 2010 üzerinde Dağıtım.
Ayrıca bkz.
Diğer Kaynaklar
C/C++ Yalıtılmış Uygulamaları ve Yan Yana Derlemeleri Oluşturma