2010-01-25 11 views
5

सिल्वरलाइट 3.0 एप्लिकेशन के भीतर मैं एप्लिकेशन की संस्करण जानकारी प्रदर्शित करने के लिए AssemblyFileVersion का उपयोग करना चाहता हूं। यह AssemblyVersion के समान नहीं है और आम तौर पर कोड का उपयोग कर के रूप में एक .NET अनुप्रयोग में लिया गया है:सिल्वरलाइट 3 FileVersionInfo.GetVersionInfo

var executingAssembly = Assembly.GetExecutingAssembly(); 
var fileVersionInfo = FileVersionInfo.GetVersionInfo(executingAssembly.Location); 
var versionLabel = fileVersionInfo.FileVersion; 

दुर्भाग्य सिल्वरलाइट 3.0 क्रम FileVersionInfo वर्ग शामिल नहीं है। क्या इस जानकारी तक पहुंचने का कोई वैकल्पिक तरीका है?

उत्तर

3

मैं Craig Young (गूगल के पृष्ठ कैशिंग के सौजन्य से) द्वारा एक चहचहाना पोस्ट में इस के लिए एक समाधान के रूप में भविष्य में संदर्भ के लिए इस समाधान पोस्ट करना

var executingAssembly = Assembly.GetExecutingAssembly(); 
var customAttributes = executingAssembly.GetCustomAttributes(typeof(AssemblyFileVersionAttribute), false); 
if (customAttributes != null) 
{ 
    var assemblyFileVersionAttribute = customAttributes[0] as AssemblyFileVersionAttribute; 
    var fileVersionLabel = assemblyFileVersionAttribute.Version; 
} 

इस प्रकार Assembly.GetCustomAttributes का उपयोग कर पाया।

5

यहां विशेषताओं के साथ ऐसा करने का एक तरीका है - मुझे यकीन नहीं है कि यह सिल्वरलाइट में काम करेगा हालांकि आपको मुझे बताना होगा।

Assembly assembly = Assembly.GetExecutingAssembly(); 
object[] attributes = assembly.GetCustomAttributes(typeof(AssemblyFileVersionAttribute), false); 
if (attributes != null && attributes.Length > 0) 
{ 
    AssemblyFileVersionAttribute fileVersionAttribute = (AssemblyFileVersionAttribute)attributes[0]; 
    string version = fileVersionAttribute.Version; 
} 
+0

यह सिल्वरलाइट 3 में काम करता है। मेरे पास पहले से ही जवाब था और भविष्य में संदर्भ के लिए पोस्ट कर रहा था। मेरा जवाब उस समाधान को विशेषता देता है जहां मुझे पहले जानकारी मिली। फिर भी धन्यवाद। –

+2

@ मार्टिन, शायद आप इस प्रभाव में कुछ प्रभाव पोस्ट कर सकते हैं ताकि लोग मदद करने की कोशिश कर अपना समय बर्बाद न करें। – overslacked

+0

@ ओवरस्लेक्ड, मैं अगली बार ऐसा करूँगा हालांकि स्पष्ट होने के लिए मेरे पास जवाब दिया गया था और जब तक मैंने जवाब पोस्ट नहीं किया था तब से केवल कुछ मिनट ही थे। कुछ लोग मेरे लिए बहुत जल्दी हैं :-) –

संबंधित मुद्दे