2014-04-21 4 views
13

मैं एक सी ++/सीएलआई प्रोजेक्ट के साथ काम कर रहा हूं जो विजुअल स्टूडियो 2012 में सी ++ मूल पुस्तकालय को लपेटता है।आप विजुअल स्टूडियो में सी ++/सीएलआई प्रोजेक्ट का संस्करण कैसे सेट करते हैं?

मेरा सी ++/सीएलआई प्रोजेक्ट में एक AssemblyInfo.cpp है। मैंने वहां सभी फ़ील्ड सेट किए हैं, जिनमें "असेंबली वर्जन एट्रिब्यूट" शामिल है। हालांकि जब मैंने अपनी परियोजना बनाई और विंडोज एक्सप्लोरर में अपनी संपत्तियों की जांच की, तो संस्करण की जानकारी खाली है।

यह मेरा पहला सी ++/सीएलआई प्रोजेक्ट है, मैं प्रोजेक्ट गुणों में सभी विकल्पों पर जा रहा हूं लेकिन मुझे संस्करण स्थापित करने के लिए कोई भी काम नहीं मिल सका।

आप सी ++/सीएलआई परियोजना के लिए संस्करण कैसे सेट करते हैं?


अद्यतन

मैं अपने AssemblyInfo.cpp की सामग्री जोड़ देगा। मैंने अभी मौजूद फ़ील्ड में भर दिया है, जब मैंने प्रोजेक्ट बनाया था तो यह स्वचालित रूप से जेनरेट किया गया था।

using namespace System; 
using namespace System::Reflection; 
using namespace System::Runtime::CompilerServices; 
using namespace System::Runtime::InteropServices; 
using namespace System::Security::Permissions; 

[assembly:AssemblyTitleAttribute("MyTitle")]; 
[assembly:AssemblyDescriptionAttribute("")]; 
[assembly:AssemblyConfigurationAttribute("")]; 
[assembly:AssemblyCompanyAttribute("")]; 
[assembly:AssemblyProductAttribute("MyProduct")]; 
[assembly:AssemblyCopyrightAttribute("Copyright © 2014")]; 
[assembly:AssemblyTrademarkAttribute("Inc")]; 
[assembly:AssemblyCultureAttribute("")]; 
[assembly:AssemblyVersionAttribute("3.9.0")]; 
[assembly:ComVisible(false)]; 
[assembly:CLSCompliantAttribute(true)]; 
[assembly:SecurityPermission(SecurityAction::RequestMinimum, UnmanagedCode = true)]; 

उत्तर

16

'विवरण' Windows Explorer में पृष्ठ फ़ाइल में अप्रबंधित संरचनाओं से जानकारी खींच रहा है, तो आप आदेश को भरने के लिए है कि में एक अप्रबंधित संस्करण संसाधन बनाने की आवश्यकता होगी।

  1. दृश्य स्टूडियो में , यदि आपके पास पहले से कोई नहीं है, तो अपनी प्रोजेक्ट में "संसाधन फ़ाइल (.rc)" जोड़ें।
  2. संसाधन फ़ाइल में, एक नया "संस्करण" संसाधन जोड़ें।
  3. अपनी जानकारी भरें।

मैं अनुशंसा करता हूं कि आप अपनी असेंबली इन्फॉर्मेशन में विभिन्न असेंबली विशेषताओं को भी बनाए रखें। यदि आप असेंबली के बारे में जानकारी प्राप्त करने के लिए प्रतिबिंब का उपयोग करते हैं, तो यह वर्जन संसाधन में नहीं, AssemblyInfo.cpp में सामान का उपयोग करेगा।

+0

आपने किस तरह की परियोजना बनाई थी? मैंने बस कोड पोस्ट किया है कि मेरी AssemblyInfo.cpp फ़ाइल है। – Dzyann

+0

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

+0

ठीक है, मैंने अभी एक परीक्षण परियोजना में कोशिश की है और यह काम करता है। धन्यवाद! – Dzyann

0

दो विशेषताएं हैं; एक AssemblyVersion विशेषता और AssemblyFileVersion विशेषता। सी # कंपाइलर के साथ, फ़ाइल संस्करण AssemblyVersion ट्रैक करेगा यदि AssemblyFileVersion प्रदान नहीं किया गया है। मुझे याद नहीं है कि सी ++/सीएलआई कंपाइलर अलग-अलग व्यवहार करता है, लेकिन यह निश्चित रूप से AssemblyFileVersion को आजमाने के लिए एक शॉट के लायक है।

+1

मैंने असेंबलीफाइलवर्सन को भी जोड़ने का प्रयास किया, लेकिन इसका कोई प्रभाव नहीं पड़ा। – Dzyann

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