Aracılığıyla paylaş


Yalıtılmış Uygulama ve Yan Yana Derleme Kavramları

Tüm bileşenleri yan yana derlemeler ise, uygulama yalıtılmış bir 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 bir bağımlılık belirten birden çok uygulama tarafından kullanılabilir. Yan yana derlemenin birden fazla sürümü, aynı anda çalışan farklı uygulamalarla paylaşılabilir. Özel derleme, uygulamanın özel kullanımı için bir uygulamayla birlikte dağıtılan bir 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ı

Hem yalıtılmış uygulamalar hem de yan yana derlemeler bildirimlerle 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 Hakkında.

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

Yayımcı Yapılandırma Dosyaları ve Uygulama Yapılandırma Dosyaları'nı değiştirerek bir uygulama dağıtıldıktan sonra yan yana derleme bağımlılıklarını 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 Studio kullanılarak oluşturulan tüm uygulamalar son ikili dosyaya eklenmiş bildirimle oluşturulur ve bildirim, Visual C++ kitaplıklarındaki ikilinin bağımlılıklarını açıklar. C++ uygulamaları için bildirim oluşturmayı anlamak için bkz . C/C++ Programları için Bildirim Oluşturmayı 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++'da dağıtım.

Ayrıca bkz.

C/C++ Yalıtılmış Uygulamaları ve Yan Yana Derlemeleri Oluşturma