VS 2012 कस्टम बाइंडिंग होस्ट के साथ IIS का उपयोग करने वाले प्रोजेक्ट को लोड नहीं कर सकता - सोचता है कि यह IIS एक्सप्रेस का उपयोग कर रहा है


85

मेरे पास ASP.NET प्रोजेक्ट है जो IIS का उपयोग करता है। कस्टम बाइंडिंग होस्ट नाम का उपयोग करने के लिए IIS साइट कॉन्फ़िगर की गई है। प्रोजेक्ट फ़ाइल में निम्नलिखित सेटिंग्स हैं:

...
<UseIISExpress>false</UseIISExpress>
...
<ProjectExtensions>
  <VisualStudio>
    <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
      <WebProjectProperties>
        <UseIIS>True</UseIIS>
        <AutoAssignPort>False</AutoAssignPort>
        <DevelopmentServerPort>8662</DevelopmentServerPort>
        <DevelopmentServerVPath>/</DevelopmentServerVPath>
        <IISUrl>http://custom.host.name/</IISUrl>
        <NTLMAuthentication>False</NTLMAuthentication>
        <UseCustomServer>False</UseCustomServer>
        <CustomServerUrl></CustomServerUrl>
        <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
      </WebProjectProperties>
    </FlavorProperties>
  </VisualStudio>
</ProjectExtensions>
...

जब प्रोजेक्ट इस तरह से कॉन्फ़िगर किया जाता है, तो मैं साइट को एक्सेस कर सकता हूं http://custom.host.name/और डीएस डीबग करते समय स्वचालित रूप से IIS कार्यकर्ता प्रक्रिया से जुड़ जाता है।

जब मैं परियोजना को पुनः लोड करता हूं (या तो समाधान बंद / फिर से खोलना या परियोजना संदर्भ मेनू में अनलोड / पुनः लोड करके), तो कुछ अप्रत्याशित होता है। प्रोजेक्ट लोड करने में विफल रहता है, (load failed)समाधान एक्सप्लोरर में प्रोजेक्ट नाम के दाईं ओर प्रदर्शित होता है और संदेश बॉक्स को निम्न संदेश के साथ दिखाया गया है (यह आउटपुट विंडो में भी प्रदर्शित किया गया है):

The URL 'http://custom.host.name/' for Web project 'Some.Asp.Net.Project' 
is configured to use IIS Express as the web server but the URL is currently
configured on the local IIS web server. To open this project, you must use
IIS Manager to remove the bindings using this URL from the local IIS web server.

मैंने IIS एक्सप्रेस applicationhost.configफ़ाइल से प्रोजेक्ट साइट कॉन्फ़िगरेशन को हटाने की कोशिश की है , लेकिन यह मदद नहीं की।

मैं डिफ़ॉल्ट साइट के तहत IIS अनुप्रयोग के लिए प्रोजेक्ट मैपिंग करते समय इस समस्या का सामना नहीं करता।

वीएस संस्करण अंतिम 2012 अपडेट 3 है।


3
हाँ, मैं VS2013 के साथ एक ही मुद्दा रहा हूँ क्योंकि मैंने इस परियोजना के साथ एक बार IIS एक्सप्रेस का उपयोग किया है ... वास्तव में कष्टप्रद!
किपुसोएप

3
Csproj या csproj.user फ़ाइलों को संपादित करने और UseIISExpressझूठी स्थापित करने का प्रयास करें । stackoverflow.com/a/19103452/138938
जॉन क्रॉवेल

2
@HeadofCatering, मैं सिर्फ इस समस्या थी, लेकिन UseIISExpress पहले से ही गलत था परियोजनाओं में .csproj फ़ाइल। हालाँकि, IIS के लिए खोज करने से मुझे csproj फ़ाइल के अंदर "<UseIIS> True </ UseIIS>" XML टैग (<ProjectExtensions> <VisualStudio> <FlavorProperties> <WebbjectProperties>>) मिल जाता है और बस इसे "<> में सेट करना होता है। UseIIS> True </ UseIIS> "ने इसे बनाया ताकि दृश्य स्टूडियो परियोजना को फिर से लोड कर सके। उम्मीद है कि यह कोई अन्य अनपेक्षित प्रभाव नहीं था!
मृगांडी

2
@ मुंगंडी मन टाइपो; मेरे लिए भी चाल करने के <UseIIS>True</UseIIS>लिए सेटिंग <UseIIS>False</UseIIS>। सलाह के लिये धन्यवाद!
डायोन वी।

जवाबों:


205

एक प्रशासक के रूप में खुलने से मेरे लिए समस्या ठीक नहीं हुई। मेरे लिए यह तय था कि दोनों.csproj और खुल रहे थे.csproj.user कि दोनों फाइलें यह सुनिश्चित कर रहे थे कि दोनों ने UseIISExpressसेट किया था false

मेरे मामले में, .csproj.userफ़ाइल चिह्नित होने के .csprojबावजूद फ़ाइल को ओवरराइड कर रही SaveServerSettingsInUserFileथी false

<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <UseIISExpress>false</UseIISExpress> 
    <!-- ... -->
</Project>

48
Csproj.user को हटाने से अंत में मेरी समस्या हल हो गई। धन्यवाद!
ब्रायन सुमेर

बहुत बहुत धन्यवाद, मैं csproj सेटिंग्स के माध्यम से अपने सिर को तोड़ रहा था। सब कुछ अच्छा लग रहा था। मैं csproj.user फ़ाइल को हटाने के बाद बिना किसी शिकायत के परियोजना को लोड करना शुरू कर दिया + 1
Esen


21

मैंने " SaveServerSettingsInUserFile " को ट्रू के रूप में सेट किया है और इसने मेरे लिए काम किया है।

<ProjectExtensions>
<VisualStudio>
  <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
    <WebProjectProperties>
      <UseIIS>True</UseIIS>
      <AutoAssignPort>True</AutoAssignPort>
      <DevelopmentServerPort>50584</DevelopmentServerPort>
      <DevelopmentServerVPath>/</DevelopmentServerVPath>
      <IISUrl>http://localhost:50584/</IISUrl>
      <NTLMAuthentication>False</NTLMAuthentication>
      <UseCustomServer>False</UseCustomServer>
      <CustomServerUrl>
      </CustomServerUrl>
      <SaveServerSettingsInUserFile>True</SaveServerSettingsInUserFile>
    </WebProjectProperties>
  </FlavorProperties>
</VisualStudio>

स्रोत: यहां क्लिक करें


4

जब आप IISexpress, ApplicationHost.Config (% userprofile% \ iisexpress \ config में स्थित) के लिए उपयोग को सक्षम करते हैं, तो आपको अपनी सेटिंग्स से बचने के लिए विकल्प "सभी उपयोगकर्ताओं के लिए सर्वर सेटिंग्स लागू करें (प्रोजेक्ट फ़ाइल में स्टोर करें)" को चेक करना होगा in yourProject.csproj.user परियोजना सेटिंग्स

ऐसा करना आपकी प्रोजेक्ट.संप्रोज फ़ाइल और लेखन को संपादित करने के समान है <WebProjectProperties> <UseIIS>True</UseIIS> <AutoAssignPort>True</AutoAssignPort> <DevelopmentServerPort>62242</DevelopmentServerPort> <DevelopmentServerVPath>/</DevelopmentServerVPath> <IISUrl>http://localhost:8100/Claims/</IISUrl> <OverrideIISAppRootUrl>True</OverrideIISAppRootUrl> <IISAppRootUrl>http://localhost:8100/Claims/</IISAppRootUrl> <NTLMAuthentication>False</NTLMAuthentication> <UseCustomServer>False</UseCustomServer> <CustomServerUrl></CustomServerUrl> <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile> </WebProjectProperties> यदि आप IISExpress और अपनी applicationHost.config फ़ाइल को सक्षम करते हैं, तो आपकी प्रोजेक्ट सेटिंग्स से संबंधित प्रविष्टि शामिल नहीं है, आपको बस "वर्चुअल निर्देशिका बनाएँ" बटन को पुश करना होगा और किया होगा !

उम्मीद है की यह मदद करेगा


विजुअल स्टूडियो का कौन सा संस्करण है? मेरे पास वीएस प्रो 2013 में यह विकल्प नहीं है
मैट आर

@ मैट आर: मुझे VS2012 प्रो मिला, इसलिए मुझे लगता है कि यह आपके संस्करण के लिए समान होगा। समाधान एक्सप्लोरर में, अपने web.application प्रोजेक्ट का चयन करें, राइट-क्लिक करें और "गुणों" का चयन करें - एक टैब की गई विंडो दिखाई देती है "वेब" टैब का चयन करें और आपको स्क्रीनशॉट देखना चाहिए जो मैंने उत्तर देने वाले में संलग्न किया है ... और देर से आने के लिए खेद है का जवाब!
14-11 बजे ज़ोबिदाफली

3

मेरे मामले में * .csproj.user फ़ाइल को हटाने से ठीक काम हुआ


2

मेरे पास एक ही मुद्दा था, मेरे लिए मुझे एक व्यवस्थापक के रूप में दृश्य स्टूडियो खोलना था और इसने मेरे लिए इस मुद्दे को हल कर दिया।

दृश्य स्टूडियो 2012 पर इतना सरल राइट क्लिक करें और "व्यवस्थापक के रूप में चलाएं" पर क्लिक करें। उम्मीद है की यह मदद करेगा


2

मेरे लिए विजुअल स्टूडियो 2015 पूर्वावलोकन के लिए विंडोज 7 64 बिट के साथ काम करने का संयोजन:
1. * .csproj.user फ़ाइल और
2. <UseIISExpress>false</UseIISExpress>समाधान फ़ाइल में हटाएं ।
चरण 2 के लिए चरण: प्रोजेक्ट में Visual Studio राइट क्लिक करें ==> अनलोड ===> समाधान संपादित करें


1

यह काफी है

इस लाइन को प्रोजेक्ट फ़ाइल x.csproj में टिप्पणी करें

<!--<UseIIS>True</UseIIS>-->

x.csproj: त्रुटि: वेब प्रोजेक्ट ' x ' के लिए URL ' http: // localhost / x ' को IIS एक्सप्रेस को वेब सर्वर के रूप में उपयोग करने के लिए कॉन्फ़िगर किया गया है, लेकिन वर्तमान में URL स्थानीय IIS वेब सर्वर पर कॉन्फ़िगर किया गया है। इस प्रोजेक्ट को खोलने के लिए, आपको स्थानीय IIS वेब सर्वर से इस URL का उपयोग करके बाइंडिंग को निकालने के लिए IIS प्रबंधक का उपयोग करना होगा।


1

मैं यहाँ तब उतरा, जब एक प्रोजेक्ट, IIS का उपयोग करने के लिए कॉन्फ़िगर किया गया, लोड नहीं होगा क्योंकि यह वेब साइट (myproject.mycompany.local) नहीं मिल सका - भले ही वेब साइट ने मेरे वेब ब्राउज़र में ठीक लोड किया हो।

समाधान यह सुनिश्चित करने के लिए था कि IIS 7 में साइट की बाइंडिंग का होस्ट नाम "myproject.mycompany.local" पर सेट था। अपनी साइट की बाइंडिंग के लिए:

  1. IIS 7 में, बाएं नेविगेशन पैनल में साइट का चयन करें।
  2. दाईं ओर क्रियाएँ पैनल में, बाइंडिंग पर क्लिक करें ...

यदि आप साइट को वेब ब्राउज़र में लोड नहीं करते हैं, तो संभवत: यह इसलिए है क्योंकि आपके पास इसके होस्ट फ़ाइल में इसके लिए कोई प्रविष्टि नहीं है:

127.0.0.1    myproject.mycompany.local

1

यदि आपकी परियोजना किसी समाधान का हिस्सा है, तो समाधान फ़ाइल (.sln) खोलें और परियोजना अनुभाग संपादित करें।

ProjectSection(WebsiteProperties) = preProject
    UseIISExpress = "false"

इसने मेरे लिए काम किया।


0

यह समस्या आज वीएस 2013 में मेरा दिन बर्बाद कर रही थी। मैंने उपरोक्त सभी की कोशिश की, लेकिन जब तक मैंने IIS में एक वेब साइट नहीं बनाई है और .csproj फ़ाइल (विशेष रूप से IISUrl तत्व) में इस अनुभाग को भरने तक परियोजना को लोड नहीं किया गया है:

<ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
        <WebProjectProperties>
          <UseIIS>True</UseIIS>
          <AutoAssignPort>True</AutoAssignPort>
          <DevelopmentServerPort>81</DevelopmentServerPort>
          <DevelopmentServerVPath>/</DevelopmentServerVPath>
          <IISUrl>http://localhost/SomeProject</IISUrl>
          <NTLMAuthentication>False</NTLMAuthentication>
          <UseCustomServer>False</UseCustomServer>
          <CustomServerUrl>
          </CustomServerUrl>
          <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
        </WebProjectProperties>
      </FlavorProperties>
    </VisualStudio>


यह समझ में आता है। हालांकि मुझे वह काम नहीं मिला।
विनेम्यूका

0

मेरे पास एक ही मुद्दा था, व्यवस्थापक के रूप में चलने से मेरे लिए काम नहीं किया।

<UseIIS>True</UseIIS>प्रोजेक्ट की ".csproj" फ़ाइल को गलत तरीके से सेट करने पर प्रोजेक्ट को अस्थायी रूप से लोड किया जा सकता है, लेकिन समाधान को पुनः आरंभ या बंद करने के बाद मान वापस आ रहा था।

अधिक स्पष्ट उत्तर के लिए @ साइरस का उत्तर (जो मेरे लिए काम करता है) को पूरा करते हुए, मैंने प्रोजेक्ट के csproj.user फ़ाइल पर अधिक ध्यान केंद्रित किया और समस्या का सटीक स्रोत पाया: <UseIISExpress>true</UseIISExpress>गलत पर सेट करना, फिर प्रोजेक्ट को फिर से लोड करना। csproj.user फ़ाइल को हटाने के बिना, अच्छा काम करना। परिणाम इस प्रकार है:

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <ProjectView>ProjectFiles</ProjectView>
    <UseIISExpress>false</UseIISExpress>
    <IISExpressSSLPort />
    <IISExpressAnonymousAuthentication />
    <IISExpressWindowsAuthentication />
    <IISExpressUseClassicPipelineMode />
    <NameOfLastUsedPublishProfile>My Project's Name</NameOfLastUsedPublishProfile>
  </PropertyGroup>

उल्लेख करना चाहिए कि, मेरे मामले में, हर बार जब मैं विजुअल स्टूडियो को सामान्य रूप से खोलता हूं (प्रशासक के रूप में नहीं) तो IIS सेटिंग्स वापस आ जाती हैं और मुझे फिर से कार्य करने होते हैं।
होमा पूर्णममादि
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.