आगे के सवाल के जवाब में -
"विजुअल स्टूडियो प्रोजेक्ट के भीतर इसे लागू करने के लिए वैसे भी है? एक बहु-डेवलपर वातावरण में, यदि कोई और व्यक्ति अपनी मशीन पर कोड की जांच करता है, तो उसका स्थानीय IIS एक्सप्रेस वर्चुअल निर्देशिका के साथ कॉन्फ़िगर नहीं किया जाएगा और रनटाइम त्रुटियों का कारण होगा। '' टी?
मुझे कभी भी कहीं भी इसका कोई जवाब नहीं मिला लेकिन फिर लगा कि आप वेबसाइट के लिए प्रोजेक्ट फ़ाइल में XmlPoke टास्क का उपयोग करके पोस्ट बिल्ड इवेंट के साथ कर सकते हैं -
<Target Name="AfterBuild">
<!-- Get the local directory root (and strip off the website name) -->
<PropertyGroup>
<LocalTarget>$(ProjectDir.Replace('MyWebSite\', ''))</LocalTarget>
</PropertyGroup>
<!-- Now change the virtual directories as you need to -->
<XmlPoke XmlInputPath="..\..\Source\Assemblies\MyWebSite\.vs\MyWebSite\config\applicationhost.config"
Value="$(LocalTarget)AnotherVirtual"
Query="/configuration/system.applicationHost/sites/site[@name='MyWebSite']/application[@path='/']/virtualDirectory[@path='/AnotherVirtual']/@physicalPath"/>
</Target>
IISExpress शुरू होने से पहले आप इस तकनीक का उपयोग फ़ाइल में कुछ भी रिपीट करने के लिए कर सकते हैं। यह आपको शुरू में एक आवेदन Host.config फ़ाइल को GIT में रखने की अनुमति देगा (यह मानकर कि इसे gitignore द्वारा अनदेखा किया गया है) फिर बाद में बिल्ड समय पर सभी पथों को पुन: लिखें। GIT फ़ाइल में किसी भी परिवर्तन को अनदेखा कर देगा, इसलिए अब उन्हें साझा करना आसान है।
एक साइट के तहत अन्य एप्लिकेशन जोड़ने के बारे में वायदा प्रश्न के उत्तर में:
आप अपने सर्वर पर एक जैसे अपने अनुप्रयोग होस्ट फ़ाइल में साइट बना सकते हैं। उदाहरण के लिए:
<site name="MyWebSite" id="2">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:\GIT\MyWebSite\Main" />
<virtualDirectory path="/SharedContent" physicalPath="C:\GIT\SharedContent" />
<virtualDirectory path="/ServerResources" physicalPath="C:\GIT\ServerResources" />
</application>
<application path="/AppSubSite" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:\GIT\AppSubSite\" />
<virtualDirectory path="/SharedContent" physicalPath="C:\GIT\SharedContent" />
<virtualDirectory path="/ServerResources" physicalPath="C:\GIT\ServerResources" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:4076:localhost" />
</bindings>
</site>
फिर बिल्ड समय पर फ़ोल्डर स्थानों को बदलने के लिए उपरोक्त तकनीक का उपयोग करें।
applicationHost.config
फ़ाइल परियोजना जड़ किया जा रहा है:${PROJECT}\.vs\config\applicationHost.config
।