एमएसबिल्ड में कस्टम कार्य के भीतर मैं वर्तमान परियोजना संदर्भ का उपयोग कैसे करूं? सबसे पहले ऐसा लगता है कि ProjectCollection पर ग्लोबलप्रोजेक्ट कोलेक्शन संदर्भ पहुंच की इजाजत देगा, लेकिन कमांडलाइन से एमएसबिल्ड चलाने पर कम से कम यह प्रतीत होता है।मैं एक कस्टम कार्य के भीतर वर्तमान परियोजना संदर्भ का उपयोग कैसे करूं?
मैं वर्तमान में नई परियोजना निम्नलिखित तरीके से वर्तमान प्रोजेक्ट फाइल के आधार पर उदाहरण प्राप्त कर सकते हैं:
List projectAssemblies = new List();
using (XmlReader projectFileReader =
XmlReader.Create(this.BuildEngine.ProjectFileOfTaskNode))
{
Project project = new Project(projectFileReader);
foreach (ProjectItem item in project.AllEvaluatedItems)
{
... woo hoo ...
}
}
लेकिन यह सिर्फ परेशानी का एक बहुत की तरह लगता है। मैं उस परियोजना तक पहुंच कैसे प्राप्त कर सकता हूं जिससे मेरा कार्य लागू किया जाता है?
आप सही हैं। यहां तक कि कार्य में कुछ मूल ऑब्जेक्ट को संदर्भित करने के बजाय, इसके कंटेनर प्रोजेक्ट से संदर्भित किया गया है। जैसा कि मैं वर्तमान में संदर्भ देने का प्रयास कर रहा हूं, मैं इस मूल कार्य के समान संदर्भ में संदर्भ प्राप्त करना चाहता हूं। –
bojolais
वैश्विक संपत्तियों के बारे में क्या? क्या उन्हें कार्य के भीतर एक्सेस किया जा सकता है? – Irek