2010-08-11 15 views
5

nasıl aynı montaj temsil edip anlamaya iki AssemblyName örneklerini karşılaştırılır? 'Eşittir' yöntemi geçersiz kılmıyor.İki AssemblyName örneğini nasıl karşılaştırırım?

Düşünebildiğim tek yol, 'ToString()' sonuçlarının her iki örnekle karşılaştırılmasıdır, ancak 'Eşittir' sözdizimini tercih ediyorum çünkü 'benzersiz' AssemblyName örneklerinin bir listesini (List) hazırlama ihtiyacım var ve 'Contains (AssemblyName item)' yöntemini kullanmayı sever. o derleme gerçek sürüme özgü kimliğini temsil eder

cevap

6

Güçlü adlandırılmış derlemeler kullandığınız sürece, ToString method çıktısının karşılaştırılması, düzeneğin tam adı olan which is supposed to be consistent and seems to be culture-invariant çıktısından iyi olur.

montajlar kesin adlandırılmış değilseniz, o zaman kolayca aynı adı ve sürüm numarası/kültürü ile başka montaj oluşturabilir ve sizinkiyle aynı derleme adı olurdu.

bir şey olsa nota montaj adları aynı montajları aynı fiziksel kimlik olduğu anlamına gelmez, çünkü; konumu, montaj adının bir parçası olan değil.

+2

aynı şeyi dönmek için geçersiz sayılmıştır. Güçlü isimlendirmeden eminim, iki ismin aynı isimde olduğu, ancak aslında tamamen farklı bir şekilde farklı görünmesi mümkün. –

+0

@Matt: Benim durumumda güvenli ben kesin adlandırılmış meclisleri uğraşıyorum varsayabiliriz. – alwayslearning

2

Ben AssemblyName.FullName özelliğini karşılaştırmak olacaktır.

+3

'AssemblyName.ToString' meclisleri adında güçlü değildir, bu yeterli kanıtlamak olmayabilir' AssemblyName.FullName' –

İlgili konular