2009-12-07 14 views
6

हमारे पास बैच-आधारित बिल्डप्रोसेस है और हम केवल दृश्य स्टूडियो से हमारी प्रोजेक्ट-फाइलों को संकलित करने के लिए एमएसबिल्ड का उपयोग कर रहे हैं। हमने अपनी बिल्ड-प्रक्रिया में एकीकृत विक्स भी किया है। हमारे सॉफ़्टवेयर के संस्करण को सेट करने के लिए हम मुख्य-निर्माण-स्क्रिप्ट में कुछ पर्यावरण चर शामिल करते हैं, जिसे हम बिल्ड-प्रोसेस के दौरान उपयोग करते हैं। मेरी समस्या यह है कि मुझे अपनी असेंबली-सूचनाओं में असेंबली के फाइलवर्सन (असेंबलीफाइलवर्सन) को सेट करना होगा। क्या एमएसबिल्ड-कॉल को संस्करण के साथ सेट करने के लिए एक संपत्ति देने का कोई तरीका है? इस तरह (यह काम नहीं करता):एमएसबिल्ड-कॉल के साथ असेंबलीफाइलवर्सन सेट करना?

%dotnetdir%msbuild.exe Viewer.csproj /property:Configuration=Release /property:Platform=AnyCPU /property:AssemblyFileVersion=%major%.%minor%.%build% 

जिसके परिणामस्वरूप विधानसभा fileversion %major%.%minor%.%build% होना चाहिए। मेरे लिए सभी परियोजनाओं में असेंबलीफाइलवर्सन सेटिंग सेट करना दर्द है। और यह एक कार्यक्रम जो मेरे दर्शन के खिलाफ है (मैं स्वचालित प्रक्रियाओं के साथ अपना स्रोत बदलना नहीं चाहता)। संस्करण को बिल्ड-स्क्रिप्ट के माध्यम से सेट किया जाना चाहिए। यह आवश्यक नहीं है कि असेंबलीफाइलवर्सन विधानसभाInfo.cs

या एमएसबिल्ड के साथ एक एक्सएमएल-कॉन्फ़िगरेशन-फ़ाइल निर्दिष्ट करने की संभावना है जो असेंबली-सूचनाओं का वर्णन करता है?

कोई सलाह होने पर बहुत अच्छा होगा।

अभिवादन, धन्यवाद, मार्टिन

उत्तर

7

MSBuild Community Tasks परियोजना से Version और AssemblyInfo कार्यों में मदद कर सकते हैं।

+2

कार्रवाई में इसका कोई उदाहरण? एक .wdproj पर कोशिश की और संदर्भित असेंबली संस्करण अद्यतन नहीं किया था। – yanta

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