2011-11-23 15 views
8

के बिना विकास मोड में एज़ूर एमुलेटर में एप्लिकेशन कैसे चलाएं Izure asp.net एमवीसी प्रोजेक्ट पर विकास टीम की सहायता के लिए मुझे कुछ मार्कअप और जावास्क्रिप्ट लोगों को शामिल करने की आवश्यकता है।विजुअल स्टूडियो

अनिवार्य रूप से मुझे जो चाहिए वह प्रत्येक व्यक्ति के लिए सामग्री फ़ाइलों (chtml/css/js) में परिवर्तन करने में सक्षम होने के लिए एज़ूर एप्लिकेशन का स्थानीय उदाहरण चलाने के लिए है और उन्हें परीक्षण/डीबग करें, जैसे कि यह VisualStudio में शुरू हुआ है (Ctrl + F5)।

हालांकि सभी पार्टियों को स्रोत कोड प्रदान करना आसान है ताकि प्रत्येक व्यक्ति की अपनी कार्यशील प्रतिलिपि हो - हम svn का उपयोग करते हैं, मैं देव कपड़े में एप्लिकेशन की स्थानीय प्रतिलिपि चलाने के साथ एक समस्या में आया।

मैं सभी के लिए विजुअल स्टूडियो स्थापित नहीं करना चाहता क्योंकि यह समय लेने वाला है, और केवल देव कपड़े शुरू करने के उद्देश्य से महंगा है। ये लोग एचटीएमएल/सीएसएस/जेएस के लिए विजुअलस्टूडियो का उपयोग नहीं करते हैं। और एसडीके का उपयोग करके उपलब्ध सभी टूल्स: एमएसबिल्ड, एज़ूर, डब्ल्यूआईएफ, जो भी हो।

मैं भी का उपयोग कर

MSBuild.exe Azure\Azure.ccproj /t:Publish 
CSRun.exe Azure\csx\Debug Azure\bin\Debug\ServiceConfiguration.cscfg 

सब कुछ आवेदन के साथ देव कपड़े चलाने में कामयाब रहे एक बात के अलावा अच्छी तरह से काम करता है - सामग्री फ़ाइलें सभी सभी बाइनरी फ़ाइलें के साथ एक साथ Azure\obj\Debug\WebRole फ़ोल्डर के अंतर्गत कॉपी कर रहे हैं।

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

मैंने CSPack संदर्भ की समीक्षा की और निश्चित रूप से इसे परिदृश्य की अनुमति देनी चाहिए, लेकिन यह समझना मुश्किल है कि इसे कैसे प्राप्त किया जाए। मुझे संदेह है कि एमएसबिल्ड का उपयोग करके ऐसी तैनाती करने का एक तरीका होना चाहिए (जब तक विजुअलस्टूडियो सभी भवन/तैनाती कार्यों के लिए भारी निर्भर करता है), लेकिन मुझे यह बताने का कोई तरीका नहीं दिख रहा है कि मैं क्या चाहता हूं।

क्या कोई भी VisualStudio डीबग परिनियोजन परिदृश्य को दोहराने के लिए सीएसपीएसी चलाने का उचित तरीका जानता है, या एमएसबिल्ड के लिए उचित लक्ष्य/पैरामीटर को एज़ूर प्रोजेक्ट चलाने के लिए VisualStudio करता है?

शायद विजुअलस्टूडियो बिल्ड के अंदर निष्पादित वास्तविक कमांड लाइन को देखने का कोई तरीका है?

+1

बस मार्कअप/सीएसएस/सामग्री के लिए दिग्गज पर्यावरण के लिए एक तरह Feels। उन्हें एक अलग परियोजना के साथ बस इतना आसान हो सकता है कि उन्हें क्या चाहिए और फिर अपने काम को बाकी ऑफ़लाइन (या बिल्ड सर्वर में) एकीकृत करें। मेरा 0.02। –

+0

मैं सहमत हूं। यदि यह सिर्फ एक ऐसी वेबसाइट है जिसके साथ आप काम कर रहे हैं, तो इसका कोई कारण नहीं है कि इसे एमुलेटर में क्यों चलाना है।यदि यह भंडारण से बात कर रहा है तो आप उन्हें देव भंडारण के बजाय Azure पर इंगित कर सकते हैं और अन्य सभी निर्भरताओं के लिए काम आसपास हैं। – knightpfhor

उत्तर

4

ठीक है, Microsoft.WindowsAzure.targets और डफ के साथ कुछ अतिरिक्त नृत्य में खुदाई के कुछ घंटों के बाद मैं जादू स्विच पाया:

MSBuild.exe Azure\Azure.ccproj /p:PackageForComputeEmulator=true /p:PackageWebRole=False 

इस आवेदन की तरह VisualStudio करता पैकेज। नोट, एज़ूर बिल्ड तर्क लक्ष्य Build और Publish को अलग करता है और यह निर्धारित करता है कि एक, दूसरे या दोनों को निर्दिष्ट किया गया है या नहीं। मेरे परिदृश्य के लिए यह केवल Build (डिफ़ॉल्ट) होना चाहिए।

2

वैकल्पिक रूप से आप अपने मूल MSBuild तर्क उदाहरण में p:PublishDir=Directory गुजर करने की कोशिश की, उदा है .:

/t:Publish /p:PublishDir=\\\mydroplocation\cloudpackage\