2011-12-21 3 views
9

मुझे एक समस्या है जो मैंने सोचा था कि आम हो सकता है, इसके लिए वेब खोजा लेकिन कुछ भी नहीं मिला।आईआईएस एक्सप्रेस एक साझा विकास मशीन (rdp)

हम एक साझा विकास मशीन का उपयोग कर रहे हैं, और हर डेवलपर आरडीपी के माध्यम से जोड़ता है और अपने ही प्रोफ़ाइल, डेस्कटॉप, आदि

समस्या मैं का सामना कर रहा हूँ आईआईएस के साथ है व्यक्त की है। चूंकि यह उपयोगकर्ता स्तर (applicationhost.config दस्तावेजों/iisexpress/config के अंदर) पर कॉन्फ़िगर किया गया है और कॉन्फ़िगर किया गया पोर्ट .csproj फ़ाइल में घोषित एक से मेल खाना चाहिए, दो डेवलपर संभवतः उसी पोर्ट पर नहीं चल सकते हैं, क्योंकि यह त्रुटि देता है "बंदरगाह पहले से ही उपयोग में है"।

तो इसे काम करने के लिए हमें प्रत्येक डेवलपर के लिए csproj और applicationhost.config पर पोर्ट को मैन्युअल रूप से बदलना होगा, लेकिन यह केवल एक अस्थायी तय है जब हम एसवीएन में हमारे परिवर्तन करते हैं, csproj फ़ाइल विलय हो जाती है , इसलिए जब भी कोई व्यक्ति/अपडेट करता है तो हमें यह प्रक्रिया करना पड़ता है।

मेरा प्रश्न है: क्या साझा स्टूडियो 2010 के साथ साझा स्टूडियो 2010 के साथ आईआईएस एक्सप्रेस का उपयोग करने का एक साफ तरीका है?

धन्यवाद।

+1

स्वतः असाइन पोर्ट के साथ दृश्य स्टूडियो विकास सर्वर का उपयोग कर एक विकल्प हो नहीं होगा या एक विशिष्ट कारण के लिए आईआईएस एक्सप्रेस का उपयोग करना चाहिए? – Filburt

+0

हम आईआईएस एक्सप्रेस काम करने की कोशिश करेंगे, क्योंकि यह वेब.कॉन्फिग में घोषित आईआईएस कॉन्फ़िगरेशन मान पढ़ता है, जबकि कैसिनी नहीं करता है। मुझे पता है कि ऑटो बंदरगाहों के साथ कैसिनी काम करता है, हम सिर्फ आईआईएस एक्सप्रेस का उपयोग करने के लिए एक सही तरीका खोजना चाहते हैं। –

+0

एफवाईआई, आईआईएस एक्सप्रेस अगले विजुअल स्टूडियो रिलीज में डिफ़ॉल्ट होगा। मुझे यकीन नहीं है कि कैसिनी भी उपलब्ध होगी। –

उत्तर

10

आंशिक रूप से परीक्षण किया गया जवाब। यह सुनिश्चित नहीं है कि यह एक बहु-उपयोगकर्ता वर्कस्टेशन पर कैसे काम करेगा। यह आपको, या किसी और को यहां एक उचित समाधान के लिए एक जंपस्टार्ट दे सकता है जो आपके मौजूदा वातावरण में सबसे अच्छा काम करता है।

ऐसा प्रतीत होता है कि विजुअल स्टूडियो csproj/vbproj में सभी वेब कॉन्फ़िगरेशन स्टोर करता है और IISExpress% userprofile% \ दस्तावेज़ \ IISExpress \ config \ ApplicationHost.Config में इसकी कॉन्फ़िगरेशन संग्रहीत करता है।

आम तौर पर, हम स्रोत नियंत्रण में csproj फ़ाइलों को स्टोर, लेकिन csproj.user फ़ाइल को अनदेखा ताकि प्रत्येक व्यक्ति इस तरह के वेब विन्यास के रूप में कुछ अद्वितीय सेटिंग्स, हो सकता है।

  • प्रत्येक उपयोगकर्ता जो बॉक्स में साइन इन करता है, उसका अपना प्रोफ़ाइल होना चाहिए।
  • प्रत्येक प्रोफ़ाइल में स्रोत कोड की अपनी प्रति होना चाहिए।
    • प्रत्येक उपयोगकर्ता की स्रोत की प्रति में अपनी स्वयं की csproj.user फ़ाइल होगी।
  • अनदेखा करें ** ** proj.user * आपके स्रोत नियंत्रण में फ़ाइलें।

कॉपी विकल्प को अनचेक सभी उपयोगकर्ताओं के लिए सर्वर सेटिंग लागू करें और उसके बाद स्रोत नियंत्रण के लिए प्रतिबद्ध द्वारा csproj.user में वेब सेटिंग्स। unchecking the option Apply server settings to all users

प्रत्येक उपयोगकर्ता जो स्रोत की एक प्रति खींचती अपने वेब सेटिंग्स कॉन्फ़िगर करना होगा, एक अद्वितीय बंदरगाह है कि दूसरों को उन उपयोग नहीं कर रहे उपयोग करें, और इसके बाद के संस्करण बॉक्स को अनचेक ताकि उनके विन्यास को पारित नहीं किया गया है अन्य उपयोगकर्ता

ऐसा करने के बाद, प्रत्येक प्रोफ़ाइल का अपना आईआईएस एक्सप्रेस एप्लीकेशन होस्ट होगा। कॉन्फिग अन्य पोर्ट से अलग पोर्ट के साथ कॉन्फ़िगर किया गया है। स्रोत की प्रत्येक उपयोगकर्ता की प्रति में एक csproj.user होगा जो उसी प्रोफ़ाइल के साथ उनके प्रोफ़ाइल के आईआईएस एक्सप्रेस कॉन्फ़िगरेशन में कॉन्फ़िगर किया गया है।

संदर्भ के लिए:

मैं बदल रहा आईआईएस एक्सप्रेस के ApplicationHost.config क्या दृश्य स्टूडियो की उम्मीद है और विजुअल स्टूडियो आईआईएस एक्सप्रेस के लिए डिबगर कनेक्ट करने में असमर्थ है तुलना में एक अलग पोर्ट का उपयोग करने की कोशिश की है।

कैसे आईआईएस एक्सप्रेस के विन्यास काम करता है: http://msdn.microsoft.com/en-us/library/ms178109.aspx

+0

इतना आसान, अभी तक बहुत अद्भुत है। धन्यवाद। यह काम करता है, और हमारे पास "rdp" दृष्टिकोण के लिए सबसे साफ कामकाज है। –

+0

क्या किसी ने विजुअल स्टूडियो 2013 के साथ इस समाधान की कोशिश की है? ऐसा लगता है कि "सभी उपयोगकर्ताओं को सर्वर सेटिंग्स लागू करें" को चेकबॉक्स हटा दिया गया है, इसलिए मैं यह नहीं कर सकता। मेरे पास यह वही मुद्दा है। –

+0

मैंने खुद को चेक नहीं किया है, लेकिन ऐसा लगता है कि यह VS2013 अपडेट 1 में वापस आ गया है। यहां कनेक्ट टिकट है: https://connect.microsoft.com/VisualStudio/feedback/details/800003/the-apply-server-settings-to-all-users-store-in-project-file-option-is-issing -इन-vs2013 –

0

एमएसबिल्ड में निर्मित Import functionality का लाभ उठाने का सबसे अच्छा विकल्प है।

अनिवार्य रूप से, आप प्रत्येक उपयोगकर्ता के लिए एक अलग निर्माण लक्ष्य बनाएंगे। फिर आप इस संदर्भित फ़ाइल से सीधे इस लक्ष्य को आयात कर सकते हैं। मैं फिर सर्वर पर (प्रत्येक उपयोगकर्ता के लिए) इस फ़ाइल को बनाने की सिफारिश करता हूं, लेकिन इसे स्रोत नियंत्रण के बाहर छोड़ देता हूं।

यह प्रत्येक उपयोगकर्ता को दूसरों के साथ विवाद किए बिना एक कस्टम आईआईएस पोर्ट रखने की अनुमति देनी चाहिए।

+0

क्या इसका मतलब प्रति उपयोगकर्ता एक अलग लक्ष्य या प्रत्येक परियोजना के लिए अलग-अलग लक्ष्य बनाना है? क्योंकि अगर यह ऑनशॉट है तो यह दिलचस्प हो सकता है, लेकिन अगर प्रत्येक परियोजना के लिए इसे दोहराने की जरूरत है, तो यह एक गड़बड़ हो सकती है। –

+0

मैंने अभी तक इसका परीक्षण नहीं किया है, लेकिन यह एक बार आधार पर होना चाहिए।जैसा कि आप केवल आईआईएस सेटिंग्स से संबंधित विन्यास फाइल का सबसेट आयात करेंगे। (हालांकि आयात परियोजना को एक बार प्रति परियोजना में जोड़ा जाना होगा, लेकिन एक ही फाइल का संदर्भ दे सकता है) –

-1

मुझे लगता है कि आप प्रत्येक उपयोगकर्ता के लिए सबडोमेन बना सकते हैं और आवश्यक परिवर्तनों को लागू कर सकते हैं और परीक्षण कर सकते हैं। इस तरह प्रत्येक उपयोगकर्ता अपना सबडोमेन और बंदरगाह कर सकता है और इसलिए साझा आईआईएस एक्सप्रेस पर स्वतंत्र रूप से काम करता है।

+0

एक गन्दा समाधान, कई परियोजनाओं के लिए बुरा है। –

-2

आप शायद मेरा उत्तर अच्छा नहीं लगेगा, लेकिन यहाँ मेरे विचार है:

आपने देखा के रूप में, विन्यास उपयोगकर्ता प्रोफ़ाइल और नहीं सर्वर से बंधा रहे हैं; ऐसा इसलिए है क्योंकि आईआईएस एक्सप्रेस का उद्देश्य साझा विकास सर्वर के रूप में उपयोग नहीं करना है। आपको पूर्ण आईआईएस का उपयोग करना चाहिए।

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

आप गंभीरता से विकास के लिए अपने पूरे सेटअप पर विचार करना चाहिए:

प्रत्येक डेवलपर अपने वर्कस्टेशन पर दृश्य स्टूडियो का उपयोग करना चाहिए, और डिबग/परीक्षण वहाँ आईआईएस एक्सप्रेस का उपयोग (सभी मशीनों में एक ही बंदरगाहों और सेटिंग्स के साथ विन्यस्त - बहुत आसान)।

वहां से, आपके डेवलपर्स को अपना कोड स्रोत नियंत्रण में देखना चाहिए, और उन संघर्षों की जांच करनी चाहिए जो उत्पन्न हो सकती हैं या नहीं। मुझे एसवीएन के बारे में निश्चित नहीं है लेकिन टीएफएस में उपलब्ध एमएसबिल्ड ऑटोमेशन का उपयोग निरंतर निर्माण नीति को स्थापित करने के लिए किया जा सकता है जो एक सामान्य आईआईएस स्थापना में तैनात करता है ताकि आपका विलय कोड परीक्षण किया जा सके और ऊपर वर्णित पूर्ण आईआईएस स्थापना से उपयोग योग्य हो।

कुछ और कामकाज/हैक जो आपको बाद में बट में काट देगा।

+0

आपकी व्याख्या का स्थानीय प्रतिलिपि/svn हिस्सा पहले से ही ऐसा ही है। प्रत्येक उपयोगकर्ता का अपना प्रोफाइल होता है, उसका अपना डेस्कटॉप/सेटिंग्स इत्यादि, यह सिर्फ इतना है कि हमारे पास उन 2 विकास सर्वर हैं (एक ही कॉन्फ़िगरेशन, प्लगइन्स इंस्टॉल, आदि के साथ) और हम एक या दूसरे से कनेक्ट होते हैं। मैं यह तय करने की स्थिति में नहीं हूं कि यह निर्णय अच्छा है या नहीं, यह एक बड़ी कंपनी है और मैं यहां सिर्फ एक डेवलपर हूं। मैं सिर्फ चीजों को सुधारने का एक तरीका समझने की कोशिश कर रहा हूं, बस इतना ही। मुझे डर था कि वैसे भी कोई साफ समाधान नहीं होगा। हमें कैसीनी में वापस जाना होगा, मुझे डर है। –