यदि आप वास्तविक असेंबली बाइनरी से AssemblyInformationVersion
मान पढ़ना चाहते हैं, तो आपका प्रश्न, जैसा कि वर्तमान में लिखा गया है, सुझाव देता है कि यह मामला है (GetAssemblyIdentity
-task पर संकेत)।
यदि ऐसा है, तो बस FileVersionInfo.GetVersionInfo
का उपयोग करें और ProductVersion
संपत्ति पढ़ें। MSBuild के अंदर से इसे आमंत्रित करने के लिए आपको शायद एक छोटा सा कस्टम कार्य चाहिए, जो वह करता है।
आंतरिक रूप से, सी # कंपाइलर turns the AssemblyInformationalVersion
into यही है।
यदि आपको इसके मूल्य के लिए स्रोत कोड (उदाहरण के लिए AssemblyInfo.cs
) का विश्लेषण करना है (जो कि एक पूरी तरह से अलग बात है!) और आपके द्वारा लिंक किए गए रेगेक्स-दृष्टिकोण आपके उद्देश्यों के लिए बहुमुखी नहीं है, तो आपके पास होगा Roslyn, या कुछ अन्य तकनीक का उपयोग करने का सहारा लेना जो वास्तव में सी # को समझता है और स्रोत कोड को सही ढंग से पार्स कर सकता है।
स्रोत
2017-07-20 12:19:21
सही? आपके उपयोगकेस पर निर्भर करता है। आपका प्रश्न असेंबली से पढ़ना कहता है, जो लिंक आप प्रदान करते हैं वह इसे AssemblyInfo.cs से पढ़ता है। आपका इरादा क्या है? –
मेरा इरादा असेंबली से पढ़ना है। मुझे नहीं लगता कि RegExp के साथ कुछ पार्सिंग इष्टतम समाधान – Leotsarev
बस स्पष्ट होना है: आप असेंबली इन्फॉर्मेशन वर्जन को बाइनरी असेंबली फ़ाइल से या AssemblyInfo.cs स्रोत फ़ाइल से पढ़ना चाहते हैं? आपका प्रश्न इंगित करता है कि दोनों मामले हो सकते हैं। –