2012-12-13 30 views
5

आईओएस ऐप पर मोनो डेवलपमेंट में काम करना और मुझे अपनी कुछ फाइलों को उपनिर्देशिका में व्यवस्थित करना शुरू करने की आवश्यकता है।MonoDevelop में एक मोनोटच परियोजना में ViewControllers को व्यवस्थित करने का सही तरीका क्या है?

मैंने प्रोजेक्ट की मुख्य निर्देशिका में एक नया व्यू कंट्रोलर फ़ोल्डर बनाकर शुरू कर दिया है। मुख्य रूप से, मैंने बस उन फ़ाइलों को खींचने और छोड़ने का प्रयास किया है जो एक्सकोड स्टोरीबोर्ड इस नए फ़ोल्डर में बनाता है। यह मुझे फाइलों की गलतियों की त्रुटियों देता है, और कभी-कभी मुझे फ़ाइलों के स्थान को हटाने या ठीक करने के लिए स्टोरीबोर्ड फ़ाइलों को मैन्युअल रूप से संपादित करना पड़ता है।

जबकि मुझे इसके साथ कुछ सफलता मिली है, कभी-कभी यह स्टोरीबोर्ड फ़ाइलों के साथ भी समाप्त होता है जो एक्सकोड में परिवर्तन करने के बाद designer.cs फ़ाइलों को अद्यतन नहीं करता है।

क्या किसी को इन मुद्दों के बिना एक बड़ी परियोजना को व्यवस्थित करने का सही तरीका मिला है?

+1

एक चीज़ जो मैंने पाया है: यदि मैं फ़ाइल को एक नए स्थान पर ले जाता हूं, तो मुझे MonoDevelop को बंद करना और पुनरारंभ करना होगा। कार्यक्रम अभी भी अपने पुराने स्थान पर .designer.cs फ़ाइल की तलाश करेगा, लेकिन अगर मैं इसे हटा देता हूं तो यह ठीक है। फ़ाइलों को चारों ओर ले जाने के बाद एप्लिकेशन को पुनरारंभ करना सरल कुछ समस्याओं से निपटने में मदद करता है। – cain

+0

आपके समाधान के लिए धन्यवाद, मेरी परियोजनाओं के लिए काम किया। – Renzzs

+0

यह समाधान को फिर से लोड करने के लिए शायद पर्याप्त है। आप फ़ाइल मेनू में हालिया समाधान आइटम का उपयोग कर सकते हैं, जो मोनो डेवलप को पूरी तरह से पुनरारंभ करने से तेज़ है। –

उत्तर

2

इस Bug Report on Xamarin पर एक नज़र डालें: बग 6130 - निर्भरता ब्रेक संदर्भ के साथ फ़ाइलों को स्थानांतरित करना।


एक csproj फ़ाइल में DependentUpon विशेषता के बाद माता-पिता फ़ाइल ले जाया जाता है अद्यतन नहीं किया गया है। उदाहरण के लिए, Xamarin स्टूडियो पर एक नया नियंत्रक वर्ग बनाना और उसके बाद इसे सबफ़ोल्डर पर ले जाना निर्भरता को तोड़ देता है।

इसे ठीक करने का एकमात्र तरीका csproj के मैन्युअल संपादन और Xamarin स्टूडियो में प्रोजेक्ट को फिर से लोड करना है। आपको यह हर बार करना होगा, आप एक नई फाइल जोड़ते हैं।

ऐसा लगता है कि csproj में मौजूदा प्रविष्टियों को अपडेट करने के बजाय ज़ैमरिन स्टूडियो जोड़ता है। यहाँ इससे पहले कि मैं एक सबफ़ोल्डर में फ़ाइलें स्थानांतरित csproj है:

<Compile Include="TestViewController.cs" /> 
<Compile Include="TestViewController.designer.cs"> 
    <DependentUpon>TestViewController.cs</DependentUpon> 
</Compile> 

नियंत्रक सबफ़ोल्डर में फ़ाइलों को स्थानांतरित करने के बाद।

<Compile Include="TestViewController.designer.cs"> 
    <DependentUpon>TestViewController.cs</DependentUpon> 
</Compile> 
<Compile Include="Controller\TestViewController.cs" /> 
<Compile Include="Controller\TestViewController.designer.cs"> 
    <DependentUpon>TestViewController.cs</DependentUpon> 
</Compile>