2008-09-23 13 views
5

Özel sürüm dizelerini el ile .rc dosyasını düzenleyerek Visual Studio'daki C++ DLL dosyasına ekleyebilirim. Örneğin, ben Sürüm sekmesi altında, DLL özelliklerinde, Sonra bu tarih dosya gezgini görünür .Rc dosyasıÖzel sürüm dizelerini .net DLL dosyasına ekleyebilir miyim?

VALUE "BuildDate", "2008/09/19 15:42:52" 

ait VersionInfo bölümüne eklerseniz.

Aynısını C# DLL için de yapabilir miyim? Yapılandırma tarihi için değil, diğer sürüm bilgileri için (kaynak denetim bilgisi gibi)

GÜNCELLEME: Bir Windows kaynağı ekleyerek bunu yapmanın bir yolu olabileceğini düşünüyorum, bu yüzden ben asked how to do that.

cevap

4

AssemblyInfo.cs içinde sen koyabilirsiniz: Bu 1.2.3.4 gibi bir sayı değil, ama her şeyin çalışacak oldukça eminim eğer

[assembly: System.Reflection.AssemblyInformationalVersion("whatever you want")] 

Bu bir derleyici uyarı.

+0

Teşekkürler - bu, bir geçici çözüm olarak kabul edilebilecek 'Ürün Sürümü' olarak gösterilir. Gerçekten beğenmek istediğim, 'Yapı Tarihi' özelliğini mülkün adı olarak görebilmektir. – Simon

5

AssemblyInfo.cs içinde Khoth cevabı genişletmek:

Sen yapabilirsiniz:

[AttributeUsage(AttributeTargets.Assembly)] 
public class CustomResourceAttribute : Attribute 
{   
    private string the_variable; 
    public string Variable {get { return the_variable; }} 

    private string the_value; 
    public string Value  {get { return the_value; }} 

    public CustomResourceAttribute(string variable, string value) 
    { 
     this.the_variable = variable; 
     this.the_value = value; 
    } 
} 

o verir, çünkü bu çözüm güzeldir: CustomResource olarak tanımlanır

[assembly: CustomResource("Build Date", "12/12/2012")] 

ihtiyacınız olan esneklik ve herhangi bir derleyici uyarısı neden olmaz.

Maalesef bir Tarih Zamanını kullanmak mümkün değildir, çünkü Niteliklerde girilen değerler sabit olmalıdır ve bir DateTime sabit değildir.

+1

Hala iki sorun: Birincisi, bu şekilde yalnızca bir CustomResourceAttribute ekleyebilmeniz; Burada AttributeUsage özniteliğinize "AllowMultiple = true" eklemeniz gerektiğini düşünüyorum. İkincisi, özel kaynak sürüm sekmesinde görünmüyor - bunları yapmak için bunları nasıl alabilirim? – Simon

+0

Doğru, AllowMultiple'ı unuttum. Bugün öğle yemeğinde (sekizinci, -7 saat dilimi.) Deneme sekmesinde gösterilen verileri elde etmeye çalışacağım. – KyleLanser

+0

Üzgünüm, zaman yok, bu hafta sonu onunla oynayacağım. – KyleLanser

İlgili konular