2008-09-22 11 views
8

मुझे कई समाधानों के भाग के रूप में कई असेंबलीइन्फो सीएस फाइलें मिली हैं जिन्हें मैं एक ही समाधान में टीमसिटी के हिस्से के रूप में स्वचालित रूप से बना रहा हूं।कई विधानसभाInfo.cs फ़ाइलों को स्वचालित रूप से अपडेट करने के लिए असेंबलीइन्फो का उपयोग

msbuild स्क्रिप्ट को और अधिक बनाए रखने योग्य बनाने के लिए मैं एक ContentGfo समुदाय कार्य को आइटम समूह के साथ संयोजन में उपयोग करने में सक्षम होना चाहता हूं उदा।

<ItemGroup> 
    <AllAssemblyInfos Include="..\**\AssemblyInfo.cs" /> 
</ItemGroup> 

<AssemblyInfo AssemblyTitle="" AssemblyProduct="$(Product)" AssemblyCompany="$(Company)" AssemblyCopyright="$(Copyright)" 
        ComVisible="false" CLSCompliant="false" CodeLanguage="CS" AssemblyDescription="$(Revision)$(BranchName)" 
        AssemblyVersion="$(FullVersion)" AssemblyFileVersion="$(FullVersion)" OutputFile="@(AllAssemblyInfos)" /> 

जो स्पष्ट रूप से काम नहीं करता है क्योंकि आउटपुटफाइल एक संदर्भित आइटम समूह नहीं हो सकता है।

कोई भी यह काम कैसे जानता है?

उत्तर

9

नीचे

<ItemGroup> 
<AllAssemblyInfos Include="..\**\AssemblyInfo.cs" /> 
</ItemGroup> 

<AssemblyInfo AssemblyTitle="" AssemblyProduct="$(Product)" AssemblyCompany="$(Company)" AssemblyCopyright="$(Copyright)" 
           ComVisible="false" CLSCompliant="false" CodeLanguage="CS" AssemblyDescription="$(Revision)$(BranchName)" 
           AssemblyVersion="$(FullVersion)" AssemblyFileVersion="$(FullVersion)" OutputFile="%(AllAssemblyInfos)" /> 

यह AllAssemblyInfos में प्रत्येक प्रविष्टि के लिए एक कॉल बनाता है के रूप में एक% करने के लिए @ बदलने का प्रयास करें।

इस लेख को भी देखें, मदद करनी चाहिए।

http://blogs.msdn.com/aaronhallberg/archive/2006/09/05/msbuild-batching-generating-a-cross-product.aspx

+0

ठीक वही है जो मैं प्राप्त करने की कोशिश कर रहा था, धन्यवाद! –

+1

कोई समस्या नहीं, मैं एनंट में प्रत्येक लूप के लिए ऐसा करता था, यह एमएसबिल्ड में थोड़ा अलग है, लेकिन यह कई तरीकों से भी अधिक शक्तिशाली है। अच्छे प्रश्नों को जारी रखें :-) – evilhomer

16

हम परियोजना में "लिंक" फ़ाइलों का उपयोग करते हैं। समाधान एक्सप्लोरर -> जोड़ें existin मद -> .. select_file .. -> arrow_on_left_of_add_button -> लिंक के रूप में जोड़ें

तो चयनित फ़ाइल परियोजना के direcotry में प्रतिलिपि नहीं है (अभी AssemblyInfo.cs), कली ही है निर्दिष्ट पथ से जुड़ा हुआ है।

+0

एक दिलचस्प विचार था जो मैंने नहीं सोचा था! अगर मुझे एमएसबिल्ड के माध्यम से कोई समाधान नहीं मिल रहा है तो मुझे यह मिल सकता है। किसी अन्य समूह के लिए आइटम समूह को गिनने का तरीका जानना अच्छा लगेगा। –

+0

मैं यह भी करता हूं। आप एक असेंबली विशिष्ट सीएस फ़ाइल भी शामिल कर सकते हैं जो आपकी औसत assemblyinfo.cs फ़ाइल की तरह दिखता है, लेकिन असेंबली विशिष्ट बिट्स शामिल है। – Will

+0

मैंने हमेशा यह भी किया है। यह बहुत अच्छा काम करता है। – caryden

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

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