2013-08-29 8 views
26

पर दृश्य स्टूडियो, समाधान-> वेब.प्रोजेक्ट-> गुण-> वेब में, मैंने http://localhost:51123/ से अपना प्रोजेक्ट यूआरएल बदल दिया हैआईआईएस एक्सप्रेस: ​​अद्वितीय कुंजी विशेषता 'नाम' के साथ 'add' प्रकार के डुप्लिकेट संग्रह प्रविष्टि को

जोड़ा हर मॉड्यूल पर "को .... सेट अद्वितीय प्रमुख विशेषता 'नाम' के साथ 'जोड़ें' प्रकार की डुप्लीकेट संग्रह प्रविष्टि जोड़ी नहीं जा सकती": http://localhost:51123/NewProjectName करने के लिए और मैं इस त्रुटि प्राप्त हो रही।

एक निकालना टैग जोड़ना काम करता है लेकिन फिर यह यूआरएल बदलने से पहले भी एक समस्या होनी चाहिए थी। कोई सुझाव?

+0

हाय Prasith, मैं पूछ सकता है जो समाधान आप के लिए काम किया कृपया? – sanepete

उत्तर

40

मुझे लगता है कि आईआईएस एक्सप्रेस में शायद 2 <application> -blocks हैं और दोनों एक ही भौतिक पथ पर इंगित करेंगे।

में आईआईएस एक्सप्रेस कॉन्फ़िग फ़ाइल पर जाएं: My Documents\IISExpress\config\applicationhost.config

के लिए खोज NewProjectName

बदलें कुछ और करने के लिए जड़ आवेदन के लिए physicalPath। इसे एक खाली फ़ोल्डर में इंगित करें। आप शारीरिक पथ प्रोजेक्ट फ़ोल्डर के रूप में ही साथ एक आईआईएस वेबसाइट बनाते हैं

<site name="NewProjectName" id="1"> 
     <application path="/" applicationPool="Clr4IntegratedAppPool"> 
      <virtualDirectory path="/" physicalPath="c:\Temp" /> 
     </application> 
     <application path="/NewProjectName" applicationPool="Clr4IntegratedAppPool"> 
      <virtualDirectory path="/" physicalPath="c:\sourcecode\NewProjectName" /> 
     </application> 
     <bindings> 
      <binding protocol="http" bindingInformation="*:51123:localhost" /> 
     </bindings> 
     </site> 
+0

यह मेरे लिए काम किया। धन्यवाद। – adriaanp

+0

आईआईएस के लिए, कॉन्फ़िगरेशन फ़ाइल @ सी: \ विंडोज \ System32 \ inetsrv \ config –

+4

विजुअल स्टूडियो 2015 में cofig फ़ाइल का स्थान समाधान फ़ोल्डर \ .vs \ cofig है। ध्यान दें कि .vs छिपा हुआ है। – user1568891

5

, और फिर इसे परियोजना के लिए एक आभासी फ़ोल्डर बनाने का उपयोग करें, आप करने जा रहे हैं:

कुछ इस तरह दिखाई देना चाहिए इस मुद्दे को देखें।
आपकी Web.config फ़ाइल दो बार लोड की जा रही है।
इसके बजाय ऑर्जेंटो ने इंगित किया, एक खाली फ़ोल्डर बनाएं और आईआईएस वेबसाइट को इंगित करें और फिर विजुअल स्टूडियो से वर्चुअल फ़ोल्डर बनाने के लिए इसका उपयोग करें।

+0

धन्यवाद आपने इसे हमारे लिए तय किया है। – radbyx

11

यह भी सुनिश्चित करें कि आपके पास मूल फ़ोल्डर में से एक में डुप्लिकेट web.config फ़ाइल नहीं है (उदाहरण: एक web.config बैकअप फ़ाइल)। मेरे साथ यह मुद्दा था!

+0

अच्छी टिप! मेरे पास एक स्वचालित वेब परिनियोजन बहुत खराब था और web.config को एक निर्देशिका में तैनात किया गया था।उस फ़ाइल को हटाने से मेरे लिए इस समस्या का समाधान हुआ। –

8

मैंने यादृच्छिक रूप से यह त्रुटि प्राप्त करना शुरू कर दिया। मैंने देखा कि आईआईएस एक्सप्रेस में दो साइटें थीं। enter image description here

यह डबल परत आईआईएस को पहली साइट से web.config पढ़ने और दूसरी बार \ WFM पर पढ़ने का कारण बन रही है। इसलिए डुप्लीकेट खोजना। मैंने बस सभी साइटों को रोक दिया और मेरे वेब प्रोजेक्ट पथ से \ WFM को हटा दिया। हालांकि आप आईआईएस एक्सप्रेस में अपनी अस्थायी फ़ाइल से फ़ाइलों और फ़ोल्डरों को साफ़ कर सकते हैं। मेरे मामले में मेरे पास समाधान के कई संस्करण थे और एक समाधान की परियोजना \ उपयोगकर्ता कॉन्फ़िगरेशन के पास वेब प्रोजेक्ट URL में एक अतिरिक्त पथ था। वीएस 2015 ने इसे जोड़ा, या किसी ने टीएफएस को अपने उपयोगकर्ता कॉन्फ़िगरेशन में चेक किया। उम्मीद है कि यह दूसरों की मदद करता है।

+4

यदि कोई इसे ढूंढ रहा है: मुझे समाधान पथ में .vs-फ़ोल्डर को हटा देना था और .user-file। – MHolzmayr

+0

मेरा यह भी दिखता था, लेकिन अस्थायी फ़ाइलों को साफ़ करने से मेरे लिए काम नहीं हुआ। मुझे अपने आईआईएस एक्सप्रेस के applicationhost.config से मेरी साइट का पूरा <एप्लिकेशन /> नोड निकालना पड़ा, ... \ My Documents \ IISExpress \ config – Danny

+0

मैंने अनजाने में एक ही ऐप के लिए एक नई आईआईएस एक्सप्रेस आभासी निर्देशिका बनाई थी। मुझे 'applicationhost.config' के अंदर .vs फ़ोल्डर में डुप्लिकेट प्रविष्टि मिली। एक बार जब मैंने डुप्लिकेट प्रविष्टि हटा दी तो सबकुछ फिर से काम करता था। –

0

प्रोजेक्ट गुणों के अंदर वेब टैब में मेरा प्रोजेक्ट यूआरएल गलत यूआरएल की ओर इशारा करता है और मैं इसे बदलने में सक्षम नहीं था ("क्या आप वर्चुअल डायरेक्टरी बनाना चाहते हैं?" और वीएस को लूप में लॉक किया गया था (हाँ -> बनाने में असमर्थ , नहीं -> ऑपरेशन रद्द कर दिया गया) जब तक कि मैंने मैन्युअल रूप से यूआरएल को (गलत) स्थिति में वापस नहीं किया, तब तक यह समाधान था। समाधान वीएस को व्यवस्थापक के रूप में चलाने के लिए था। मैं उस यूआरएल को बदलने में सक्षम था और सब कुछ काम करना शुरू कर दिया। उम्मीद है कि यह मदद करता है!

0

आप पाएंगे कि नवीनतम विंडोज़ 10 सर्विस पैक जून 2017 में अपग्रेड करने के बाद, यह समस्या इसलिए है क्योंकि कुछ नोड्स रूट कॉन्फिगर (machine.config) के अंतर्गत दिखाई देते हैं। मैंने web.config से अपने डुप्लीकेट हटा दिए और यह सब काम किया दोबारा

0

मुझे एक ही प्रकार की समस्या थी। आईआईएस पर प्रकाशित मेरी साइट चलाना, वही त्रुटि दिखाई गई थी।

मैंने फ़ोल्डर (एप्लिकेशन फ़ोल्डर से बाहर) में web.config फ़ाइल देखी। मैंने इस फ़ाइल को हटा दिया और एप्लिकेशन ठीक चला गया।

एक गलत फ़ोल्डर में रखे गए web.config फ़ाइल को ढूंढें (आपके फ़ोल्डर एप्लिकेशन के ऊपर)।

शुभकामनाएं!

0

answer@orjanto ने मेरे लिए समस्या हल की, लेकिन मुझे इसके ऊपर एक अतिरिक्त समस्या थी। फिक्सिंग के बाद, इंटरनेट एक्सप्लोरर ने अभी भी सोचा था कि मेरा HTML पृष्ठ फ़ाइल की बजाय एक निर्देशिका थी।

<site name="MyAPI" id="56"> 
    <application path="/" applicationPool="Clr4IntegratedAppPool"> 
      <virtualDirectory path="/" physicalPath="C:\source\repos\MyAPI" /> 
    </application> 
    <application path="/login.html" applicationPool="Clr4IntegratedAppPool"> 
      <virtualDirectory path="/" physicalPath="C:\source\repos\MyAPI" /> 
    </application> 
    <bindings> 
      <binding protocol="http" bindingInformation="*:57018:localhost" /> 
      <binding protocol="https" bindingInformation="*:44302:localhost" /> 
    </bindings> 
</site> 

नोट पथ = "/ login.html" दूसरी < आवेदन > प्रविष्टि में:

मैं अपने आईआईएस एक्सप्रेस कॉन्फ़िग फ़ाइल में डुप्लिकेट था।

मेरा पृष्ठ "स्थानीयहोस्ट: 57018/login.html /" पर रीडायरेक्ट कर रहा था जैसे कि यह एक निर्देशिका थी।

दूसरी प्रविष्टि को हटाने से कॉन्फ़िगरेशन फ़ाइल डुप्लिकेट के साथ समस्या ठीक हुई, हालांकि मुझे एक समस्या है जहां इंटरनेट एक्सप्लोरर को लगता है कि /login.html/ एक निर्देशिका (इंटरनेट एक्सप्लोरर 11) थी। समस्या का निदान करने के लिए, मैंने क्रोम की जांच की और क्रोम ठीक काम किया।

मैं इंटरनेट एक्सप्लोरर में गया, टूल्स> इंटरनेट विकल्प> सामान्य टैब पर गया। फिर "ब्राउज़िंग इतिहास" अनुभाग के तहत, मैंने इतिहास, कुकीज़ और वेबसाइट डेटा हटा दिया, & टेम्प। इंटरनेट फ़ाइलें

0

सभी web.config फ़ाइलों बंद विरासत के कई व्यापक स्तर को मशीन पर, आईआईएस, परियोजना, और फ़ोल्डर स्तर स्थानों, प्रत्येक विशिष्टता के एक उच्च डिग्री प्रदान करने के साथ काम करते हैं।

आपको यह त्रुटि मिलती रहे हैं, यह मतलब है कि आप या तो है:

  1. जोड़ा एक ही फाइल में एक ही कुंजी को दो बार (संभावना नहीं आप इसे देखा है, क्योंकि है)
  2. एक ही कुंजी विरासत श्रृंखला

# 2 के लिए कई अलग-अलग मूल कारण हो सकते हैं, लेकिन यदि आप उन्हें चरणबद्ध करना चाहते हैं, तो आप केवल पिछली घोषणाओं को हटा सकते हैं और फिर पुनः- उस स्तर पर अपना खुद का जोड़ें (मैं एक अपरिपक्व सुविधा के लिए अच्छा पैसा देना होगा)।

तो बस किसी भी हमलावर तत्वों के लिए इस तरह <remove> टैग जोड़ने:

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"> 
 <remove name="ErrorLog" /> <remove name="ErrorMail" /> <remove name="ErrorFilter" />  
    <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" /> 
    <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" /> 
    <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" /> 

    </modules> 
</system.webServer> 
संबंधित मुद्दे

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