2012-11-05 12 views
7

मैं अपने उत्पाद संस्करण को रेजर व्यू (_Layout.cshtml) में प्रदर्शित करने का प्रयास कर रहा हूं। इस तरह मैं कुछ कर रही:एक रेजर व्यू से उत्पाद संस्करण कैसे प्राप्त करें

<script> 
alert('@FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).ProductVersion'); 
alert('@Assembly.GetExecutingAssembly().Location'); 
</script> 

समस्या यह है कि पहले चेतावनी मुझे 0.0.0.0 तो पता चला है, मैं दूसरे अलर्ट शुरू की है और यह मुझे निम्न स्थान पता चलता है:

सी: WindowsMicrosoft.NETFramework644.0.30319Temporary ASP.NET Filesoot # 35f35b93778aeaApp_Web_ztow0zpu.dll

जाहिर है यह मेरा विधानसभा फ़ाइल नहीं है। क्या रेज़र दृश्य से असेंबली संस्करण प्राप्त करने का कोई आसान और साफ तरीका है?

+0

असेंबली संस्करण और उत्पाद संस्करण एक ही चीज़ नहीं हैं। असेंबली संस्करण 'असेंबली वर्जन' विशेषता का उपयोग करके निर्दिष्ट किया गया है। _product_ संस्करण को 'AssemblyInfoVersion' विशेषता का उपयोग करके निर्दिष्ट किया गया है। नीचे स्वीकृत उत्तर केवल विधानसभा मूल्य खोजने के लिए मान्य है। –

उत्तर

11

बेहतर जवाब

मैं अनुमान लगा रहा हूँ कि यह उस्तरा इंजन, नहीं अपने आवेदन के संस्करण प्राप्त करने की कोशिश कर रहा है के लिए संपादित। तो यह जानकारी नियंत्रक में यह जानकारी प्राप्त करने और इसे व्यूबैग के माध्यम से देखने के लिए भेजना है।

अपने नियंत्रक जोड़ने में - आपके विचार ऐड में

ViewBag.Version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; 

-

<h1>@ViewBag.Version</h1> 
+0

निष्पादन असेंबली एक ही है। – lontivero

+0

ओउप्स, मुझे खेद है! मेरी उंगलियां मेरे दिमाग से तेज थीं। तुम सही हो। धन्यवाद! – lontivero

3

जवाब इस तथ्य कैसे ASP.NET प्रत्येक पृष्ठ/देखें (उस्तरा दृश्य) संभालती में छिपा हुआ है। यह प्रत्येक पृष्ठ/दृश्य को अलग-अलग डीएल में संकलित करता है। के रूप में अपने प्रश्न का कहना है कि इसके नाम से हो सकता है:

App_Web_j2tdatrx.dll 

और यह वास्तव में (एक नज़र कृपया लेने के लिए) के अंदर रखा जाता आप "वेब" का संस्करण प्राप्त करना चाहते हैं, तो

c:\Windows\Microsoft.NET\Framework64\v4.0.30319\ 

तो विधानसभा , आपको इसे अलग तरीके से ढूंढना है। क्योंकि यह निष्पादन नहीं है। इस मामले में संस्करण प्राप्त करने के लिए, अधिक प्रतिबिंब करें और वह लाइब्रेरी ढूंढें जिसे आप दिखाना चाहते हैं: उदा। फर्म.प्रॉडक्ट। वेब.dll

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