2012-12-20 9 views
32

मैं msbuild के साथ एक csproj प्रोजेक्ट बनाने की कोशिश कर रहा हूं, लेकिन इसके साथ सभी अजीब मुद्दों को nuget.targets नहीं ढूंढने की शिकायत है।MSBuild त्रुटि nuget.targets फ़ाइल को खोजने में

Msbuild Project.csproj 

और वह मेरे सामान्य देव फ़ोल्डर में काम करता है, लेकिन एक और फ़ोल्डर स्थान में, यह इन त्रुटियों के साथ विफल:

मैं कमांड लाइन का सरलतम MSBuild के साथ बनाता है चलाने

error MSB4019: The imported project "C:\BuildAgent\work\CableSense\.nuget\nuget.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

वह पथ (C:\BuildAgent\work\CableSense\.nuget\nuget.targets) वास्तव में गलत है और काम के बाद एक फ़ोल्डर गायब है (काम \ somefolder \ cablesense), लेकिन मैं एक नुकसान में क्यों हूँ। अधिक अजीब बात है, अगर मैं एक और परियोजना का निर्माण करता हूं जो समाधान का हिस्सा है, तो यह काम करता है, यह सिर्फ यह परियोजना है।

csproj nuget.targets का स्थान निर्दिष्ट इस तरह दायर:

<Import Project="$(SolutionDir)\.nuget\nuget.targets" /> 

और SolutionDir इसलिए की तरह परिभाषित किया गया है:

<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir> 

कौन सा अन्य परियोजना है कि करता है के रूप में ही है काम। कोई विचार?

उत्तर

54

अरग! इसे पोस्ट करने के बाद मुझे समस्या मिली .. असल में, परियोजना की अन्य परियोजनाओं पर निर्भरता थी। उन से संबंधित परियोजनाओं के लिए csproj फ़ाइलों थोड़ा गलत थे - और SolutionDir के रूप में इस था:

<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\CableSense\</SolutionDir> 

कौन सा तो समस्या के कारण! उम्मीद है कि यह किसी और की मदद करता है, अब मुझे अपने प्रश्न का उत्तर देने में बुरा लगता है।

+10

ठीक है, मैट, आपने कहा कि समस्या का कारण बन गया है, लेकिन आपने यह नहीं कहा कि आपने इसे कैसे ठीक किया है। मुझे एक ही समस्या है, और आपका जवाब देख रहा है, मुझे अभी भी पता नहीं है कि इस मुद्दे को हल करने के लिए क्या करना है। – Stack0verflow

+5

असल में, उन संबंधित परियोजनाओं को जांचने के लिए जांचें कि क्या समाधान का उपयोग किया जाता है यदि समाधान डीआईआर मौजूद नहीं है तो सही है (उस पोस्ट में ../../CableSense जो गलत था) –

+0

अरे नहीं, मुझे एक ही समस्या है । क्या समाधान डीआईआर को स्वचालित रूप से ठीक करने का कोई तरीका है? मुझे संपादित करने के लिए बहुत सी csproj फ़ाइलें मिल गई हैं :-( –

3

ठीक है, इसलिए मुझे हाल ही में एक ही त्रुटि मिली है लेकिन समाधान मेरे लिए अलग-अलग काम करता है।

बिल्ड परिभाषा में, स्रोत सेटिंग्स के तहत, मेरे पास स्रोत नियंत्रण फ़ोल्डर समाधान के लिए रूट फ़ोल्डर की बजाय वास्तविक प्रोजेक्ट की निर्देशिका में सेट था।

मुझे पता है कि यह एक पुराना उत्तर धागा है, लेकिन यह किसी ऐसे व्यक्ति की मदद कर सकता है जिसने मुझे वही गलती की है।

0

मेरे लिए मैंने एक छोटा स्थान प्राप्त करने के लिए बस समाधान स्थान बदल दिया।