Yan Yana Yürütme için Bileşen Oluşturma Yönergeleri

Yan yana yürütme için tasarlanmış yönetilen uygulamalar veya bileşenler oluşturmak için şu genel yönergeleri izleyin:

  • Tür kimliğini bir dosyanın belirli bir sürümüne bağlayın.

    Ortak dil çalışma zamanı, tanımlayıcı adlandırılmış derlemeler kullanarak tür kimliğini belirli bir dosya sürümüne bağlar. Yan yana yürütme için bir uygulama veya bileşen oluşturmak için tüm derlemelere kesin bir ad vermeniz gerekir. Bu, kesin tür kimliği oluşturur ve her tür çözümlemesinin doğru dosyaya yönlendirilmesini sağlar. Tanımlayıcı adlandırılmış derleme, çalışma zamanının bağlama isteğini yerine getirmek için doğru dosyayı bulmak için kullandığı sürüm, kültür ve yayımcı bilgilerini içerir.

  • Sürüm kullanan depolamayı kullanın.

    Çalışma zamanı, sürüme duyarlı depolama sağlamak için genel derleme önbelleğini kullanır. Genel derleme önbelleği, .NET Framework kullanan her bilgisayarda yüklü sürüm kullanan bir dizin yapısıdır. Bu derlemenin yeni bir sürümü yüklendiğinde genel derleme önbelleğine yüklenen derlemelerin üzerine yazılmaz.

  • Yalıtımlı olarak çalışan bir uygulama veya bileşen oluşturun.

    Yalıtılan bir uygulama veya bileşen, uygulamanın veya bileşenin iki örneği aynı anda çalışırken çakışmaları önlemek için kaynakları yönetmelidir. Uygulama veya bileşen de sürüme özgü bir dosya yapısı kullanmalıdır.

Uygulama ve Bileşen Yalıtımı

Bir uygulamayı veya bileşeni yan yana yürütme için başarıyla tasarlamanın bir anahtarı yalıtımdır. Uygulama veya bileşen tüm kaynakları, özellikle de dosya G/Ç'yi yalıtılmış bir şekilde yönetmelidir. Uygulamanızın veya bileşeninizin yalıtıldığından emin olmak için şu yönergeleri izleyin:

  • Kayıt defterine sürüme özgü bir şekilde yazın. Değerleri, sürümü gösteren ve bir bileşenin sürümleri arasında bilgi veya durum paylaşmayan kovanlarda veya anahtarlarda depolayın. Bu, aynı anda çalışan iki uygulamanın veya bileşenin bilgilerin üzerine yazılmasını engeller.

  • Bir yarış koşulu oluşmaması için adlandırılmış çekirdek nesneleri sürümüne özgü hale getirin. Örneğin, aynı uygulamanın iki sürümünden iki semafor birbirini beklediğinde bir yarış durumu oluşur.

  • Dosya ve dizin adlarını sürüme duyarlı hale getirin. Bu, dosya yapılarının sürüm bilgilerine güvenmesi gerektiği anlamına gelir.

  • Sürüme özgü bir şekilde kullanıcı hesapları ve grupları oluşturun. Bir uygulama tarafından oluşturulan kullanıcı hesapları ve grupları sürüme göre tanımlanmalıdır. Bir uygulamanın sürümleri arasında kullanıcı hesaplarını ve grupları paylaşmayın.

Sürümleri Yükleme ve Kaldırma

Bir uygulamayı yan yana yürütme için tasarlarken, sürümleri yükleme ve kaldırma ile ilgili şu yönergeleri izleyin:

  • Kayıt defterinden farklı bir .NET Framework sürümü altında çalışan diğer uygulamalar için gerekli olabilecek bilgileri silmeyin.

  • Kayıt defterindeki farklı bir .NET Framework sürümü altında çalışan diğer uygulamalar için gerekli olabilecek bilgileri değiştirmeyin.

  • .NET Framework'ün farklı bir sürümü altında çalışan diğer uygulamalar için gerekli olabilecek COM bileşenlerinin kaydını silmeyin.

  • Önceden kaydedilmiş bir COM sunucusu için InprocServer32 veya diğer kayıt defteri girdilerini değiştirmeyin.

  • .NET Framework'ün farklı bir sürümü altında çalışan diğer uygulamalar için gerekli olabilecek kullanıcı hesaplarını veya grupları silmeyin.

  • Kayıt defterine, ters çevrilmemiş yol içeren hiçbir şey eklemeyin.

Dosya Sürüm Numarası ve Derleme Sürüm Numarası

Dosya sürümü, çalışma zamanı tarafından kullanılmayan bir Win32 sürüm kaynağıdır. Genel olarak, yerinde güncelleştirme için bile dosya sürümünü güncelleştirirsiniz. İki özdeş dosya farklı dosya sürümü bilgilerine ve iki farklı dosya da aynı dosya sürümü bilgilerine sahip olabilir.

Derleme sürümü, derleme bağlaması için çalışma zamanı tarafından kullanılır. Farklı sürüm numaralarına sahip iki özdeş derleme, çalışma zamanı tarafından iki farklı derleme olarak değerlendirilir.

Genel Derleme Önbelleği aracı (Gacutil.exe), yalnızca dosya sürüm numarası daha yeni olduğunda bir derlemeyi değiştirmenize olanak tanır. Derleme sürüm numarası daha büyük olmadığı sürece yükleyici genellikle bir derlemenin üzerine yüklenmez.

Ayrıca bkz.