1.5.4735.28467 olarak derlenmiş bir sürüm 1.5 numaram var."*" (joker) sürüm numaraları için .NET'teki formül nedir?
4735 ve 28467 almak için formül nedir?
1.5.4735.28467 olarak derlenmiş bir sürüm 1.5 numaram var."*" (joker) sürüm numaraları için .NET'teki formül nedir?
4735 ve 28467 almak için formül nedir?
unutmayın:alternatif araçlar/kurallar/şemalar/makro/eklentileri vb farklı bir şekilde sürüm kontrolü için/var; eğer kullanılırsa, aşağıdakileri açıkça yok ederler.
Ancak, bu "*"
sürümü vanilya Visual Studio/NET inşa sürecinde .build.revision
için nasıl hesaplandığını geçerli:
bir sürümünü belirterek, en azından büyük belirtmek gerekir. Büyük ve küçük belirtirseniz, , oluşturmak için bir yıldız işareti (*) belirtebilirsiniz. Bu inşa 1 Ocak 2000 yerel saat itibaren geçen gün sayısı eşit olacak şekilde neden olur ve revizyon için 2.
bölü gece yarısı yerel saat beri saniye sayısı eşit olmalıdır
Bkz. Coding Horror: Determining Build Date the hard way ve MSDN: AssemblyVersionAttribute. Bu varsayılan genişletme davranışı AssemblyVersionAttribute sınıfında (BCL!) belgelenmiştir ve özel derleyici davranışı (bkz. Daniel'in yorumu) değil, yalnızca derleyici davranışıdır.
int Build = DateTime.Today.Subtract(new DateTime(2000, 1, 1)).Days;
int Revision = (int)DateTime.Now.Subtract(DateTime.Today).TotalSeconds/2;
Bu kesinlikle derleyici davranışı. Derleyici herhangi bir özniteliği başlatmaz; Sadece meta verilerdeki argüman değerlerini kodlar. Ama sayı derleme zamanında ikame edilir; derleyicide özel bir durum olmalı. Benzer bir şey yapmak için özel bir özellik yazmanın yolu yoktur. – Daniel
@Daniel Bu iyi bir argüman. Sürüm numaralarının nasıl çalıştığı konusunda bir VS (.NET değil) referansı bulabilseydim. –
Ayrıca uygulamayı Roslyn'de de görebilirsiniz: http://source.roslyn.codeplex.com/#Microsoft.CodeAnalysis/VersionHelper.cs,95 – eug
majör, inşa, revizyon:
İşte (Daniel'in açıklama çıkarılan gibi) formülünün bir uygulamasıdır. Yapı ve revizyon size kalmış .... –
http://blogs.msdn.com/b/jensenh/archive/2005/11/11/491779.aspx. Ancak bu Microsoft Office için; .NET Framework için aynı şekilde çalışıp çalışmadığını bilmiyorum. –
Build = DateTime.Today.Subtract (yeni DateTime (2000, 1, 1)). Günler; Revision = (int) DateTime.Now.Subtract (DateTime.Today) .TotalSeconds/2; Çok kötü bu kapanmış; iddia edilen yinelenen farklı bir soru ... – Daniel