Güçlü adlandırılmış bir derlemede ne değişiklikler AssemblyVersionAttribute'de bir değişikliği gerektiriyor? Açıkça, bir müşterinin bir kod değişikliği yapmak zorunda kalabileceği şekilde genel api'yi değiştirmek AssemblyVersion'da bir artış gerektirir. Ancak, istemcideki kod değişiklikleri gerektirmeyen genel API’daki değişiklikler nelerdir? Örneğin,.NET: AssemblyVersion ile ilgili olarak, ikili uyumluluğu ne tanımlar?
- Genel bir sınıf veya arabirimin eklenmesi?
- Genel bir üyenin genel bir sınıfa veya arabirime eklenmesi? (DÜZENLEME: drscroogemcduck, bir arabirime bir üye eklemenin tüm uygulayıcıları hortumlayacağını doğru bir şekilde işaret eder. Aptal ben.)
- Bir sınıf üyesinin görünürlüğünün artırılması?
Bu, MSDN'de (veya MSS'nin bazı MSSE'nin kişisel blog'unda, MS) bilindiği bir yerde kesin bir belge olmalıdır. Ama ben sadece bulamıyorum. Lütfen yardım et!
İki soru: * Eğer belgelerine beni işaret edebilir - Resmi veya başka - İlk ekstresinde? * ikinci ifadenizi hazırlar mısınız? Bu patentli durumda, kamu sınıfından bir memurun içten topluma görünürlüğünü arttırmak istiyorum. Bunun nasıl (DLL of GAC sürümü) cehenneme yol açacağı açık değil. – cero
İlk önce: Onu aramak zorundayım. Temel olarak, JIT yöntemleri gerektiği kadar geç derler. Son bağlanma, yalnızca JIT yöntemi derlediğinde gerçekleşir, bu nedenle yöntem oradaysa ve imzayla eşleşirse, işe yarayacaktır - bu benim deneyimimdir. Kamu arabirimlerine yöntem eklemek, yine de, eksik yöntemlere yol açabileceğinden, iyi bir fikir olmayacaktır. – Lucero
İkinci ifadeye gelince, kodu değiştirmek ve montaj kimliğini aynı bırakmak farklı davranışlara yol açabilir. Örneğin, yansıma yaptığınızda, özel veya genel üyeler bulmak isteyip istemediğinizi belirtirsiniz. Eğer sadece "özel" ciltleme kullanılırsa, (durumunuza göre) ctoru daha fazla bulamaz ve kullanıcı (ve çalışma zamanı) aynı versiyonunu düşünürse bile hata mesajı alır.ve eğer montaj GAC da varsa çalışma zamanını karıştırır. Yapma. – Lucero