Yayımcı ilkesi derlemelerini kullanma

ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.

Makalenin İngilizcesi aşağıdaki gibidir: 891030
ASP.NET Destek Sesi sütunu: Yayımcı ilkesi derlemelerini kullanma
Bu sütunun ihtiyaçlarınıza özelleştirmek için Knowledge Base makaleleri ve Destek Sesi sütunu ve görmek istediğiniz konuları ilgilendiren konular hakkındaki fikirlerinizi gelecekte ele göndermek için sizi davet etmek istiyoruz. Fikir ve görüşlerinizi kullanarak Gönder İsteyin Form. Bu sütunun alt form için bir bağlantı yoktur.
Bu makalede, ASP.NET Destek Sesi Destek Sesi sütunu olarak ilk Eylül 2004'te yayımlanmıştır. Bu standart bir KB makalesi değildir.
Giriş
Yeniden Merhaba ve Destek Sesi sütunu Eylül ' 04 sürümüne Hoş Geldiniz. Jim Cheshire, ASP .NET, kendi katkısını destekleyen Microsoft burada destek mühendisi teşekkür etmek istiyorum. Jim iyi bir fikir için Destek Sesi sütunu vardır ve bunları paylaşmak istedi. Jim'ın Katkıları için önümüzdeki birkaç ay içinde bakmak ve her zaman olduğu gibi bize gelecekte sütunlar için önerilerinizi gönderin. Teşekkür Jim!

Jim ile Microsoft FrontPage, VB ve ASP .NET takımlar üzerinde altı yıldır çalışmaktadır. Bu sırada, Office Developer Center için MSDN'de kendisi yazmıştır ve he FrontPage, Özel Edition Microsoft Office FrontPage 2003 kullanarak üzerinde bir kitabın yazarıdır. Jim de burada he Web geliştiricileri Microsoft ürünlerini en iyi yapmak etkinleştirmek FrontPage için ücretsiz eklentiler sağlar bir Web sitesi vardır. Bu Web sitesi adresi aşağıdadır: Böylece tanıtım Lütfen bir sandalye yukarı kapalı, ayakkabı atarlar ve bizim sütun kullanarak Yayımcı ilkesi derlemelerihakkında tüm üzerinden okumak ve unutmayın, biz yayımlamak, fikirlerinizi bize her sütunda bulunan "BT için SOR" bağlantısını kullanarak gönderin.

Jeremy
Yayımcı ilkesi derlemelerini kullanma
Web uygulamalarınızda şimdiye kadar COM bileşenleri ile çalıştıysanız, siz kendiniz Microsoft .NET Framework ve kolaylığı ile Web uygulamanız başvuruda bileşenleri şimdi güncelleştirmek için gelişini celebrated olanlar arasında saymak olduğunu olasıdır. Çoğu durumda, bir bileşen güncelleştirme olarak yeni bir yapı Bin klasörüne veya genel derleme önbelleği (GAC) içine bırakarak kadar basittir. Ancak, .NET dünyada bile onu derleme bağlama bileşen güncelleştirirken bölmek mümkündür. Neyse ki, .NET Framework Derleme bağlama kontrol edebilirsiniz yol sunar. Bu denetim harnessing bir güçlü (ve nadiren anlaşılan) Yayımcı ilkesi derlemesi yoludur. Bu makalede, ben, bir yayımcı ilkesi derlemesi GAC içerisinde bulunan bir derleme belirli bir sürümünü bağlamak için uygulamanızın zorlamak için nasıl kullanılacağını gösterir.

Derleme bağlama yöntemleri

Yayımcı ilkesi derlemelere ayrıntılarını ben araştırmadan önce derleme bağlama bölünebilir yolları anlamak önemlidir. .NET derlemesi her dört özellikleri kullanılarak tanımlanır:
  • Derleme adı
  • Birincil veya ikincil sürüm
  • Ortak anahtar belirteci
  • Kültür
Aşağıdakilerden birini veya birkaçını değiştirirseniz derleme bağlama kopar. Örneğin, bir bileşeni 1.0.1 sürümü Microsoft ASP.NET uygulamanızda başvuru ve sonra bileşen sürüm 1.0.2 için yeniden derleyin, ASP.NET sürüm 1.0.2 otomatik olarak kullanır. Bileşen sürüm 1.1.0 için yeniden derleyin, ancak, ASP.NET 1.0.1 kullanmaya devam edecektir sürüm derlemenin alt sürüm değiştiğinde derleme bağlama bozuk olduğu için sonraki bir sürümünü GAC'de yüklü olsa bile.

Çoğu durumda, tam olarak ne olmasını istediğinizi budur. Ancak, hatta dört tanımlayıcı özelliklerinden değiştiğinde yeni bir sürümü kullanmak için ASP.NET uygulamanızı zorlamak istediğiniz durumlar olabilir. Örneğin, bir geliştirici özel sunucu denetimlerini olduğunu varsayalım. Yalnızca, sunucu denetimi yöntemleri birkaç birkaç küçük hata sabit. Ayrıca bazı harika yeni işlevler eklendi ve o herkes denetiminiz varolan herhangi bir uygulamada kullanarak yeni işlevler erişimi olduğundan emin olmak istiyorsanız. Ancak, uygulamanızın sürüm nedeniyle, alt yapı için derleme artırılır. Denetiminizi Web sunucusunda GAC içine yüklendiği zaman, özgün sürümü karşı derlendi ASP.NET uygulamaları yeni sürümü otomatik olarak kullanmaz.

Uygulamanızın derleme belirli bir sürümünü kullanmaya zorlayabilirsiniz birkaç farklı yolu vardır. Bağlama yeniden yönlendirme, bir web.config dosyası veya machine.config dosyasına ekleyebilirsiniz. Bu, olamaz yalnızca sunucu yöneticileri, bileşenin yeni sürümü için yükleme paketi üzerine otomatik olarak varolan uygulamaların anlamına gelir ve bir yapılandırma dosyası değiştirmenizi gerektirir. Geliştirici veya yönetici böylece kullandıysa veya web.config dosyasını güncelleştirmek için hangi uygulamalar bileşeniniz kullanıyor bilmesi gerekir, web.config dosyasını kullanarak yeniden yönlendirme ek bir eksiklikleri vardır. Nasıl, bileşenin yeni sürümü yükleyerek, bileşenin yeni sürümü kullanan tüm uygulamalara kolayca yapabilirsiniz? Yanıtınızı Yayımcı ilkesi derlemesi kullanmak için ise, tam olarak doğru olduğunu!

Yayımcı ilkesi derlemesi nedir?

Yayımcı ilkesi derleme .NET çalışma zamanı derleyiciye bağlandığında kullanılacak İlkesi yapılandırır bir derlemedir. Yayımcı ilkesi derlemesi GAC içine yüklenir ve aşağıdaki adlandırma kuralını kullanarak adlı:
ilke.major_ver.minor_ver.Assembly.dll
, major_ver ve minor_ver derleme dosyasının eski sürümü birincil ve ikincil sürüm bakın. Bu nedenle, sürüm 2.0 Website.dll 1.0 sürümünü güncelleştirmek ve yeni sürüme bağlamak için varolan tüm uygulamaları istiyorsanız Yayımcı ilkesi derleme adı olacaktır:
Policy.1.0.WebSite.dll
Bu yayımcı ilkesi derlemesi GAC içine yüklendikten sonra Website.dll 1.0 sürümüne başvuran tüm uygulamalar yerine Website.dll 2.0 sürümüne bağlayacaksınız. Bu noktada, nasıl Yayımcı ilkesi derlemesi GAC'de yer gördüğünde Website.dll 2.0 sürümüne bağlamak için .NET çalışma zamanı bilir soruyorsunuz. Yayımcı ilkesi dosyası, yayımcı ilkesi derlemesi oluşturmak için kullanılan bir XML yapılandırma dosyası bulunma.

Yayımcı ilkesi dosyası

Yayımcı ilkesi dosyası bütünleştirilmiş bir sürümünden yeni bir sürümüne bağlama yeniden yönlendirmek gereken bilgileri içerir. Yayımcı ilkesi dosyası oluşturduktan sonra Yayımcı ilkesi derlemesi oluşturmak için .NET Assembly Linker (Al.exe) yardımcı programını kullanın.

Sürüm 2.0 için herhangi bir referans Website.dll 1.0 sürümüne yönlendiren bir yayımcı ilkesi dosyası örneği aşağıda verilmiştir. Ortak anahtar belirteci derlemenin GAC'de yüklü özelliklerine bakarak elde edilebilir.
<configuration>    <runtime>        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">            <dependentAssembly>                <assemblyIdentity name="website" publicKeyToken="18517ea673f8584b" culture="neutral" />                    <bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0"/>            </dependentAssembly>        </assemblyBinding>    </runtime></configuration>
Yayımcı ilkesi dosyası oluşturduktan sonra Örneğin .config dosyası uzantısı ile kaydedin, Web sitesi.config. Yayımcı ilkesi derlemesi oluşturmak için derleme bağlayıcı aracını kullanın.

İşlemin tamamı

Senaryo: Güncelleştirilmiş sürümü yüklendikten sonra şu anda sunucu denetiminizin sürüm 1.0 başvuran herhangi bir ASP.NET uygulamasının sürüm 2.0 yerine kullanmasını sağlamak istiyorsunuz. Herkes bunun olması yapılandırma dosyaları değiştirmek zorunda kalmak istemiyorum. Akıllıca bir yayımcı ilkesi derleme gitmek için yolu olduğunu belirlediniz demektir.

Nasıl devam etmelisiniz budur.
  1. Sürümü ve WITH RECOMPILE değiştirin. İlk adım, bileşenin yeni sürümü oluşturmaktır. Bunu yaptıktan sonra bileşeniniz için AssemblyInfo dosyasına sürüm numarasını değiştirmek gerekir.
  2. Yayımcı ilkesi dosyası oluşturun. Yukarıda gösterilen biçimi kullanarak derleme için yayımcı ilkesi dosyası oluşturun.
  3. Kullanımı Assembly Linker (Yayımcı ilkesi derlemesi oluşturmak için Al.exe). Assembly Linker .NET Framework SDK ile birlikte gelir. Sürüm 2.0 website.config adlı bir yayımcı ilkesi dosyası kullanarak bir bağlama Website.dll 1.0 sürümünden yönlendirir Yayımcı ilkesi derlemesi oluşturmak için aşağıdaki komutu çalıştırın:
    al /link:website.config /out:policy.1.0.website.dll /keyfile:c:\keyfile.snk
    Bu komut, policy.1.0.website.dll adlı yeni bir derleme oluşturur. "Yayımcı ilkesi derlemesi nedir?" bölümünde belirtildiği gibi bu adlandırma kuralı önemlidir.
  4. Yayımcı ilkesi derlemesi genel derleme önbelleğine yüklemek. Yayımcı ilkesi derlemesi GAC içine yüklenir. Bu .NET çalışma zamanı tarafından herhangi bir uygulama Website.dll 1.0 sürümüne bağlamak çalışır ve otomatik olarak yeni sürüme bağlamak için uygulamayı zorlar olduğunda kullanılır.
  5. Yeni sürümü genel birleştirme önbelleğine yüklemek. GAC içine bileşenin yeni sürümü yükleyin. Yeni sürümü yükledikten sonra eski sürümü sorunsuzca kaldırılabilir.
  6. Microsoft Internet Information Services (IIS) yeniden. IIS'yi yeniden başlatmak için son adım olur. Bu derleme .NET çalışma zamanı bağlar biçimi nedeniyle gereklidir. .NET çalışma zamanı için belirli bir derleme zaten bağlı, yani bağlama yeniden kullanır. Bu nedenle, bağlama yeniden yönlendirmesi için yeni derleme çalışması için alt işlemi yeniden başlatmanız gerekir.
Website.dll 1.0 sürümü için bir başvuru ile oluşturulan herhangi bir uygulama bu adımları tamamlamanızı otomatik olarak kullanacağı sonra 2.0.Publisher İlkesi derleme sürümünü geliştiricileri derleme bağlama üzerinde tam denetime sahip olmasını sağlamak için kullanışlı bir yol sunar. Varolan uygulamaları bileşeniniz yeni bir sürümünü kullanmaya zorlamak için hedef ise, bu makalede, gördüğünüz gibi bir yayımcı ilkesi derlemesi uygulamaları yapılandırma dosyaları değiştirme veya bir sunucu yöneticisi tarafından el ile değişiklik bağlıdır zorunda kalmadan beklediğiniz sürümü her zaman kullanacağı güven sağlar.

Görüşünceye dek,
Jim Cheshire
Destek Mühendisi
Microsoft Geliştirici destek
Her zaman, göndermek istediğiniz fikirler konularda ücretsiz havaya gelecekteki sütunları olarak veya kullanarak Bilgi Bankası İsteyin Form.

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 891030 - Son İnceleme: 08/17/2015 05:05:00 - Düzeltme: 3.0

Microsoft ASP.NET 1.0, Microsoft ASP.NET 1.1

  • kbhowto kbasp kbmt KB891030 KbMttr
Geri bildirim