2011-03-02 17 views
11

मैं एक परियोजना फ़ाइल (App.Tests.csproj) है कि एक परियोजना का आयात करता है में एक का निर्माण लक्ष्य बनाया:आयात विफल होने पर MSBuild प्रोजेक्ट लोड नहीं होगा?

<Import Project ="$(Location)\Special.Tasks"/> 

इन कार्यों केवल हमारे निर्माण सर्वर पर मौजूद है, उस स्थान मौजूद नहीं है हमारे डेवलपर्स स्टेशन काम पर। निर्माण लक्ष्य कभी भी बिल्ड सर्वर से ही चलाया जाएगा।

मेरी समस्या यह है कि जब मैं विशेष कार्य के बिना वर्कस्टेशन पर एसएलएन (निर्माण लक्ष्य के साथ प्रोजेक्ट युक्त) खोलने का प्रयास करता हूं तो परियोजना लोड नहीं होगी।

मैं प्रत्येक वर्कस्टेशन में विशेष टास्क वितरित नहीं करना चाहता हूं।

क्या एमएसबिल्ड या विजुअल स्टूडियो को लोड करने के लिए कोई तरीका है, भले ही आयात विफल हो जाए?

+0

धन्यवाद शर्त जोड़! मेरे मामले में, यह एक समस्या थी क्योंकि मेरी परियोजना एक nuget पैकेज द्वारा प्रदान की गई .targets फ़ाइल पर निर्भर थी जो केवल निर्माण के हिस्से के रूप में स्थापित की जाएगी। – Sandy

उत्तर

19

बस इस का उत्तर प्राप्त करने के लिए करने के लिए Import target

<Import Project ="$(Location)\Special.Tasks" 
     Condition="Exists('$(Location)\Special.Tasks')"/> 
संबंधित मुद्दे