मैं विजुअल स्टूडियो 2010 में निर्मित डीबगर में Web.debug.config
का उपयोग कैसे कर सकता हूं?मैं अंतर्निहित दृश्य स्टूडियो डीबगर सर्वर में Web.debug.config का उपयोग कैसे कर सकता हूं?
उत्तर
यह एक ज्ञात बग है। उस सुविधा का उपयोग केवल तैनाती प्रक्रिया के हिस्से के रूप में किया जा सकता है।
कृपया इसे वोट दें, यदि आप यह भी सामना करते हैं, तो यह जल्द से जल्द तय की जाएगी।
यह वास्तव में करना बहुत आसान है और, विश्वास करो या नहीं, ऐसा लगता है कि वीएस को काम करने के लिए डिज़ाइन किया गया है।
वेब.कॉन्फिग युक्त प्रोजेक्ट की .csproj फ़ाइल के समापन "प्रोजेक्ट" टैग से पहले निम्न पंक्तियों को क्रियान्वित करें।
<UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Web\Microsoft.Web.Publishing.Tasks.dll" />
<Target Name="Transform">
<MakeDir Directories="obj\$(Configuration)" Condition="!Exists('obj\$(Configuration)')" />
<TransformXml Source="Web.Config" Transform="Web.$(Configuration).config" Destination="obj\$(Configuration)\Web.config" StackTrace="true" />
</Target>
परियोजना है कि web.config फ़ाइल की परियोजना संपत्तियों में बाद के निर्माण घटना को शब्दशः निम्नलिखित लाइनों रखो। प्रत्येक बिल्ड कॉन्फ़िगरेशन के लिए ऐसा करें जिसे आप ट्रांसफॉर्मेशन के लिए चलाने के लिए चाहते हैं।
"$(MSBUILDBINPATH)\msbuild" "$(ProjectPath)" /t:Transform /p:Configuration=$(ConfigurationName);Platform=AnyCPU
xcopy "$(ProjectDir)obj\$(ConfigurationName)\Web.Config" "$(ProjectDir)". /F /R /Y
मैं आपके प्रोजेक्ट पथ में रिक्त स्थान होने पर त्रुटियों से बचने के लिए केवल $ (ProjectDir) और $ (ProjectPath) के डबल कोट्स जोड़ने की अनुशंसा करता हूं। –
में सुझाया गया था, मैं इस दृष्टिकोण का उपयोग करके रूपांतरणों को काम करने में सक्षम हूं लेकिन मैं असमर्थ हूं मेरे ब्रेकपॉइंट्स मारा। मैंने डीबग को सही पर सेट किया है लेकिन मैंने कभी ब्रेकपॉइंट नहीं मारा और मुझे निम्न संदेश मिलता है "ब्रेकपॉइंट वर्तमान में हिट नहीं होगा। इस दस्तावेज़ के लिए कोई प्रतीक लोड नहीं किया गया है।"यह केवल मेरी कस्टम कॉन्फ़िगरेशन के लिए होता है और अगर मैं अपनी कॉन्फ़िगरेशन को "डीबग" पर सेट करता हूं तो ठीक काम करता है। कोई विचार? –
मुझे पता है कि यह पुराना है, लेकिन मुझे एक ही समस्या का सामना करना पड़ रहा है। हम टेस्ट है, मचान, लाइव कॉन्फ़िगरेशन कि डिफ़ॉल्ट से अंतिम बिंदु, कनेक्शन तार आदि की जगह Web.config
हालांकि मैं निम्नलिखित करना होगा:
- सही वांछित बदलने config पर क्लिक करें (उदाहरण के लिए वेब .Live.config)
- पर क्लिक करें "पूर्वावलोकन रूपांतरण"
- कॉपी सब कुछ ठीक से (यह कैसे Web.config परिवर्तन के साथ दिखाई देता है)
- Ctrl + A + CTRL + C
- ओपन Web.config फ़ाइल (डिफ़ॉल्ट एक)
- सब कुछ (Ctrl + A) का चयन करें और (Ctrl + V)
- भागो में पेस्ट
यह कई कदम नहीं है और जब आप इसे लटकाते हैं तो बहुत जल्दी किया जाता है। उम्मीद है की यह मदद करेगा। :)
अगर मैं सही ढंग से समझ गया हूं तो यह मूल web.config फ़ाइल में विनाशकारी परिवर्तन है। प्रश्न के संदर्भ में प्रत्येक चरण को डीबग सत्र शुरू होने पर इन चरणों को करने की आवश्यकता होगी। –
मैं अपने प्रोजेक्ट में web.config को अपडेट नहीं करना चाहता था बस बिन फ़ोल्डर में समाप्त होता है, इसलिए यहां मैंने यह किया है।
(सिर्फ अंतिम समापन परियोजना टैग से पहले)
<Target Name="Transform">
<MakeDir Directories="bin" Condition="!Exists('bin')" />
<TransformXml Source="Web.Config" Transform="Web.$(Configuration).config" Destination="bin\$(TargetFileName).config" StackTrace="true" />
</Target>
तो निम्नलिखित पोस्ट का निर्माण कदम
"$(MSBUILDBINPATH)\msbuild" "$(ProjectPath)" /t:Transform /p:Configuration=$(ConfigurationName);Platform=AnyCPU
इसका मतलब यह है कि जब आप एक निर्माण को जोड़ने .csproj के अंत में निम्नलिखित जोड़ें रूपांतरण डीबग/रिलीज कॉन्फ़िगरेशन से वेबसाइट नाम पर होता है। आउटपुट बिन निर्देशिका में फ़ाइल कॉन्फ़िगर करें इस प्रकार प्रोजेक्ट में मुख्य web.config में हस्तक्षेप नहीं कर रहा है।
यह बिन निर्देशिका में कॉन्फ़िगरेशन को बदलता है, दुर्भाग्यवश यह कॉन्फ़िगर कभी भी उपयोग नहीं किया जाता है। लोड की गई कॉन्फ़िगरेशन वास्तव में वेब है। प्रोजेक्ट फ़ोल्डर में कॉन्फिग, बिन निर्देशिका में से एक नहीं। – Mick
मैंने इसे सरल तरीके से हल किया था, इसे टैग से ठीक पहले .csproj फ़ाइल के अंत में जोड़कर। यह किटन के जवाब के समान है, इस अंतर के साथ कि यह एक पोस्ट बिल्ड इवेंट का उपयोग नहीं करता है।
<Target Name="BeforeBuild">
<TransformXml Source="Web.config" Transform="Web.$(Configuration).config" Destination="Web.config" />
</Target>
पुष्टि की, यह काम करता है। लेकिन सावधान रहें, यह Web.config की स्थानीय प्रति को संशोधित करता है। तो यदि आप XSLT का उपयोग कर रहे हैं जैसे RemoveAttributes, यह निश्चित रूप से हटा दिया गया है! SetAttributes –
धन्यवाद के साथ अच्छी तरह से काम करता है! यह मेरे लिए काम है! – panicoper
यह वही किया जो मैं खोज रहा था। सरल और सीधे बिंदु पर। निश्चित नहीं है कि अन्य सभी समाधानों को इतना क्यों होना चाहिए ... जटिल। –
@ologesa: आपका समाधान की जरूरत मूल Web.config (आप चेक-आउट करना होगा TFS में) के लिए उपयोग में लिखें। बेहतर समाधान है कि बिन फ़ोल्डर में Web.config को सीधे उत्पन्न करना जैसे कि केटिन ऐसा करता है। जब हम keitn के गठबंधन और अपने समाधान पर हम पाते हैं यह एक:
<Target Name="BeforeBuild">
<Message Text="Transforming Web.config from Web.$(Configuration).config" Importance="high" />
<MakeDir Directories="bin" Condition="!Exists('bin')" />
<TransformXml Source="Web.Config" Transform="Web.$(Configuration).config" Destination="bin\$(TargetFileName).config" StackTrace="true" />
</Target>
अच्छा होगा लेकिन मिक ने टिप्पणी की थी; इस फ़ाइल का उपयोग नहीं किया जाता है। मैं एप्लिकेशन या आईआईएस इस कॉन्फ़िगरेशन फ़ाइल का उपयोग कैसे करूं? – HMR
इसी तरह के कई पदों फ़ाइलें नहीं या web.config सुलभ नहीं किया जा रहा ओवरराइट किया जा करने में सक्षम होने के साथ समस्याओं पढ़ रहे हैं और होने की वजह से इसे पढ़ने के बाद ही यह क्या है मैं मेरे लिए काम कर गया:
<Target Name="BeforeBuild" Condition="$(Configuration) == 'MyAltDebugConfiguration'">
<ItemGroup>
<OriginalWebConfig Include="$(ProjectDir)Web.config"/>
<TempWebConfig Include="$(ProjectDir)TempWeb.config"/>
</ItemGroup>
<Exec Command=""$(DevEnvDir)tf.exe" checkout "$(ProjectDir)Web.config"" />
<Copy SourceFiles="@(OriginalWebConfig)" DestinationFiles="@(TempWebConfig)" />
<TransformXml Source="$(ProjectDir)TempWeb.config"
Transform="Web.$(Configuration).config"
Destination="Web.config" />
</Target>
नोट्स:
यह BeforeBuild लक्ष्य के रूप में चलाता है।
मैं केवल इसे एक निश्चित विन्यास (वैकल्पिक डीबग पर्यावरण) के तहत चलाने के लिए चाहता हूं और इसलिए मुझे शर्त है। वेब लक्ष्य के माध्यम से तैनाती के दौरान तैनाती लक्ष्य को मारता है और मुझे चलाने के लिए इस लक्ष्य की आवश्यकता नहीं है।
मैं web.config (केवल जब इसे पूरा करता हूं तो इसे पूर्ववत करने के लिए) को याद रखना नहीं चाहता हूं, इसलिए मैं ट्रांसफॉर्म शुरू करने से पहले web.config को जांचता हूं। यदि आप टीएफएस का उपयोग नहीं कर रहे हैं तो आप इस लाइन को हटा सकते हैं।
वी.एस. (2010) \ MSBuild मैं (जानकारी के लिए इस लेख के लिए धन्यवाद: http://www.diaryofaninja.com/blog/2011/09/14/using-custom-webconfig-transformations-in-msbuild) एक अस्थायी फ़ाइल का उपयोग स्रोत web.config जाने नहीं चाहता है क्योंकि
मैं करने के लिए एक कमांड जोड़ने की कोशिश की TempWeb.config को हटाएं लेकिन वीएस \ msbuild इसे छोड़ना नहीं चाहता है। मैं इसके साथ रह सकता हूं क्योंकि यह टीएफएस में नहीं जोड़ा जाता है।
- 1. नोड के अंतर्निहित डीबगर का उपयोग कर चर का निरीक्षण?
- 2. मैं xbuild (मोनो से) का उपयोग कर दृश्य स्टूडियो समाधान कैसे बना सकता हूं?
- 3. मैं दृश्य स्टूडियो का उपयोग कर ड्राइवर कैसे बना सकता हूं?
- 4. $ अपवाद छद्मवर्तनीय दृश्य स्टूडियो डीबगर (डॉलर अपवाद)
- 5. emacs डीबगर: मैं चरण-दर-चरण कैसे कर सकता हूं?
- 6. मैं विजुअल स्टूडियो (vb.net) में HtmlEncode (या HtmlDecode) फ़ंक्शन का उपयोग कैसे कर सकता हूं?
- 7. मैं सी # का उपयोग कर SQL सर्वर डेटाबेस में हैश कैसे संग्रहीत कर सकता हूं?
- 8. मैं अपने एमवीसी प्रोजेक्ट में कोडबेंड में सर्वर-साइड कंट्रोल का उपयोग कैसे कर सकता हूं?
- 9. मैं वीआईएम का उपयोग कैसे कर सकता हूं .Net Development
- 10. मैं wpf में रिलेकॉमैंड का उपयोग कैसे कर सकता हूं?
- 11. मैं स्कैला में प्राइमेटिव का उपयोग कैसे कर सकता हूं?
- 12. मैं जावास्क्रिप्ट में गोटो का उपयोग कैसे कर सकता हूं?
- 13. मैं EndRequest में ऑटोफैक का उपयोग कैसे कर सकता हूं?
- 14. मैं web2py में मॉड्यूल का उपयोग कैसे कर सकता हूं?
- 15. मैं सी # में डीबग्रेक() का उपयोग कैसे कर सकता हूं?
- 16. मैं आईओएस में एमक्यूटीटी का उपयोग कैसे कर सकता हूं?
- 17. मैं एंड्रॉइड में टेस्सेक्ट का उपयोग कैसे कर सकता हूं?
- 18. मैं सी # में GetNextWindow() का उपयोग कैसे कर सकता हूं?
- 19. मैं सी ++ में mysql का उपयोग कैसे कर सकता हूं?
- 20. मैं जावा में जावास्क्रिप्ट का उपयोग कैसे कर सकता हूं?
- 21. मैं वेब दृश्य में एंड्रॉइड संक्रमण प्रभाव का उपयोग कैसे कर सकता हूं?
- 22. मैं यूआईसीओलेक्शन पूरक दृश्य में यूआईबटन का उपयोग कैसे कर सकता हूं?
- 23. vsjitdebugger.exe (विजुअल स्टूडियो डीबगर) - उत्पादन सर्वर
- 24. मैं इंच के बजाय विजुअल स्टूडियो में पिक्सल का उपयोग कैसे कर सकता हूं?
- 25. मैं अपने विजुअल स्टूडियो प्रोजेक्ट में नुनिट का उपयोग कैसे शुरू कर सकता हूं?
- 26. मैं global.asax से Server.MapPath() का उपयोग कैसे कर सकता हूं?
- 27. क्या मैं विजुअल स्टूडियो 2008 में एमवीसी 3 का उपयोग कर सकता हूं?
- 28. एसक्यूएल सर्वर DB दृश्य स्टूडियो
- 29. क्या मैं पूर्ण स्क्रीन दृश्य का उपयोग किए बिना आईओएस जीएलकिट का उपयोग कर सकता हूं?
- 30. दृश्य स्टूडियो डीबगर को कैसे रोकें जब एक #
रिकॉर्ड के लिए यह एक बग नहीं है, इसकी डिजाइन द्वारा। ये फ़ाइलें पैकेज/प्रकाशित करने के लिए हैं। लेकिन किसी को आइटम को वोट देने से हतोत्साहित नहीं करना चाहिए। –
@ सैयद मैं आपसे सहमत हूं :) – stacker
मेरे लिए यह एक बग है, अन्यथा स्थानीय लोगों पर डीबग/रिलीज ट्रांसफॉर्म का उद्देश्य क्या है? कभी-कभी डिज़ाइन गलत होते हैं, इसका मतलब यह नहीं है कि यह सही है :) –