2014-10-13 13 views
5

के बीच कोड साझा करना मैं विजुअल स्टूडियो के कॉर्डोवा टेम्पलेट के साथ-साथ एक विजुअल स्टूडियो समाधान में एएसपी.नेट एमवीसी वेब एप्लिकेशन के माध्यम से कॉर्डोवा आधारित मोबाइल ऐप विकसित कर रहा हूं। मैं जितनी संभव हो सके दोनों परियोजनाओं के बीच ज्यादा HTML साझा करने में सक्षम होना चाहता हूं। एक मुद्दा जो मैं चला रहा हूं वह बंडलिंग और कमीशन है जो एएसपी.नेट में होता है जो कॉर्डोवा प्रोजेक्ट में उपलब्ध नहीं है। कोई विचार है कि मैं दोनों परियोजनाओं में विजुअल स्टूडियो के भीतर खनन का समर्थन कैसे कर सकता हूं जो मुझे जितना संभव हो उतना कोड साझा करने की अनुमति देगा?एएसपी.नेट एमवीसी प्रोजेक्ट और कॉर्डोवा प्रोजेक्ट

उत्तर

0

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

ASP.NET और कॉर्डोबा परियोजनाओं के बीच साझा करने के लिए कोड के रूप में, मैं अपने .jsproj में लिंक जोड़ने का सुझाव, इस प्रकार है:

<PropertyGroup> 
    <AspNetProject>C:\YourAspNetProject</AspNetProject> 
</PropertyGroup> 
<ItemGroup> 
    <Content Include="$(AspNetProject)\Views\**\*.cshtml"> 
    <Link>views\%(RecursiveDir)%(FileName).html</Link> 
    </Content> 
    <!-- add other links here --> 
</ItemGroup> 

इस तरह वी.एस. समाधान Explorer में लिंक की गई फ़ाइलों को प्रदर्शित करता है और संपादित कर सकते हैं जैसे कि वे स्थानीय थे।

दुर्भाग्य से, Apache Cordova, CTP3 के लिए वी.एस. उपकरण के वर्तमान संस्करण, लिंक किए गए आइटम का समर्थन नहीं करता है, तो एक और परिवर्तन आपके .jsproj में किए जाने के लिए है:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CordovaTools\vs-mda-targets\Microsoft.MDA.targets" /> 
<PropertyGroup> 
    <BuildDependsOn>PreBuild;$(BuildDependsOn)</BuildDependsOn> 
</PropertyGroup> 
<Target Name="PreBuild"> 
    <ItemGroup> 
    <LinkedFiles Include="@(Content)" Condition="'%(Content.Link)' != ''" /> 
    <!-- add other links here --> 
    </ItemGroup> 
    <Copy SourceFiles="%(LinkedFiles.Identity)" DestinationFiles="%(LinkedFiles.Link)" /> 
</Target> 

PreBuild कार्य किसी भी पहले कहा जाता है Build सबटास्क और लिंक की गई फ़ाइलों को आपके कॉर्डोवा के प्रोजेक्ट में कॉपी करता है। शेष निर्माण प्रक्रिया सामान्य रूप से चलती है।

+0

एक एकल जेएस फ़ाइल के लिए प्रॉपर्टी ग्रुप और आइटम ग्रुप सामान को मेरे '.jsproj' में जोड़ने का प्रयास किया जिसे मैं साझा करना चाहता हूं। जब प्रोजेक्ट गायब हो जाता है तो लिंक गायब होने से पहले संक्षेप में दिखाई देता है। वीएस 2015 अपडेट का उपयोग करना 2. कोई विचार क्या चल रहा है? – phuzi

+0

@phuzi क्षमा करें, मैंने कभी भी वीएस 2015 अपडेट 2 से निपटा नहीं है। –

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