आपके एप्लिकेशन को होस्ट करने वाली DNX प्रक्रिया की प्रक्रिया आईडी को निर्धारित करने का प्रयास करने में एक त्रुटि हुई


101

मुझे यह त्रुटि संदेश तब मिलता है जब मैं एप्लिकेशन शुरू करने का प्रयास कर रहा हूं।

आपके एप्लिकेशन को होस्ट करने वाली DNX प्रक्रिया की प्रक्रिया आईडी को निर्धारित करने का प्रयास करने में एक त्रुटि हुई

क्या समस्या को ठीक करने का कोई तरीका है?

जवाबों:


151

मेरे लिए विजुअल स्टूडियो को बंद करने, डिलीट करने से समस्या हल हो गई

project.lock.json

और विजुअल स्टूडियो को फिर से शुरू करना।

संपादित करें : मैं RC1 का उपयोग कर रहा था।


2
RC1 प्रोजेक्ट में मेरी समस्या हल हुई
नदव हुरि

@NadavHury यहां भी :)
ManyRootsofAllEvil

1
समस्या का हल उदाहरण के साथ मेरे पास था RC1 ऐप जिसे PluralSight से डाउनलोड किया गया था, बहुत सराहा गया
tomRedox

5
यह अब काम नहीं करता है। np microsoft। हम यह पता लगा लेंगे। बार-बार और ... AGAIN

1
जहां है project.lock.json?
कोडीबगस्टीन

34

Microsoft ने रिलीज़ नोट्स में वर्णित होस्टिंग मॉडल को बदल दिया ।

में project.jsonनिर्भरता की जगह

"Microsoft.AspNet.Server.IIS": "1.0.0-beta7"

साथ में

"Microsoft.AspNet.Server.Kestrel": "1.0.0-beta8"


में web.configमें handlersखंड को छोड़कर हर प्रविष्टि को निकालने

<add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />

पूरा इस तरह web.configदिखेगा:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/>
    </handlers>
    <httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="false" startupTimeLimit="3600"/>
  </system.webServer>
</configuration>

RC1: RC1 का उपयोग करते समय मुझे समाधान फ़ोल्डर को स्थानांतरित करने के बाद त्रुटि हुई थी। फ़ोल्डर्स binऔर objफ़ोल्डर्स को हटाने के बाद सब कुछ फिर से काम करता है।
जैसा कि user764754 ने उल्लेख किया है, बस Visual Studio को पुनरारंभ करने से भी मदद मिल सकती है।


नए होस्टिंग मॉडल में, आप web.config का उपयोग बिल्कुल नहीं करते हैं और इसे पूरी तरह से हटा सकते हैं। HttpPlatformHandler और Startup.cs supplant web.config, जैसा कि आप कुछ हद तक IIS को दरकिनार कर रहे हैं।
सायगन

2
मैं पहले 1.0.0-बीटा 8 स्थापित करने के बाद नवीनतम टेम्प्लेट का उपयोग करता हूं, फिर वीएस 2015 में एक नया एएसपी.नेट प्रोजेक्ट बना रहा हूं। सभी प्रविष्टियां सही हैं, फिर भी मुझे डोमसी के समान त्रुटि मिलती है। क्या कोई समझा सकता है कि "% DNX_PATH%" और "% DNX_ARGS%" का क्या अर्थ है?
ओकिह

1
मुझे स्पष्ट करना चाहिए, आपको अपने प्रोजेक्ट में web.config की आवश्यकता नहीं है। एक न्यूनतम web.config फ़ाइल संकलन के दौरान उत्पन्न होती है जो मूल रूप से पाइपलाइन में HttpPlatformHandler जोड़ता है और IIS से Kestrel सर्वर पर ट्रैफ़िक को निर्देशित करता है। तो आप सही हैं, एक web.config फ़ाइल है, लेकिन यह आपके प्रोजेक्ट कोड बेस में आवश्यक नहीं है।
सायगन

3
वी.एस. को पुनः आरंभ करने से आरसी -1 के साथ मेरे लिए यह करना आवश्यक नहीं हटाए गए।
user764754

2
मेरे पास RC1 के साथ एक ही मुद्दा था मेरे लिए web.config (wwwroot में) को हटाने का उपाय था
rad

30

इस समस्या वाले अन्य लोगों के लिए, ऐसे मामलों में, जिनमें अन्य समाधान काम नहीं करते हैं - मुझे इस थ्रेड में उत्तर मिला: SSL का उपयोग करने के लिए मजबूर करना: DNX प्रक्रिया की प्रक्रिया आईडी का निर्धारण करने के लिए एक त्रुटि का प्रयास करते हुए आपके एप्लिकेशन को होस्ट करना

मैं आपकी परियोजना का उपयोग करता हूं या SSL को डीबगिंग (CTRL + F5) के बिना पहले चलाता है, यह आपसे एक स्थानीय एसएसएल प्रमाणपत्र उत्पन्न करने के लिए कहेगा, और उसके बाद डिबगिंग काम करेगा और त्रुटि दूर हो जाएगी।


इसने मेरे लिए इसे ठीक कर दिया। मैंने अपने प्रोजेक्ट को एक नए कंप्यूटर पर माइग्रेट किया था, जिसके पास प्रमाणपत्र स्थापित नहीं था। धन्यवाद।
पेस

अच्छा था, यह बात थी! मैं इसे "फेसबुक का उपयोग करके प्रमाणीकरण सक्षम करने ..." पृष्ठ पर नोट करने जा रहा हूं, क्योंकि उनके निर्देशों में एसएसएल को मजबूर करना शामिल है।
N8allan

मैं CTRL + F5 करके काम करने के लिए इसे प्राप्त नहीं कर सका। F5 ने इसे चलाने के बाद मेरे iis एक्सप्रेस सेर्ट्स पर भरोसा किया। मुझे कोई चेतावनी नहीं थी, लेकिन इसने मेरे लिए इसे ठीक कर दिया।
जोश क्लोज

11

इसके लायक क्या है, यह एक सामान्य त्रुटि संदेश है जो किसी भी समस्या के लिए लाल हेरिंग के रूप में काम कर सकता है जहां httpPlatformHandler दिए गए निष्पादन योग्य (इस मामले में dnx) को लॉन्च नहीं कर सकता है।

मेरे मामले में मुझे यह त्रुटि प्रक्षेपण के गलत परिणाम के प्रत्यक्ष परिणाम के रूप में मिली। जेट फ़ाइल। मैं अपने आवेदन के लिए https समापन बिंदु को सक्षम करने की कोशिश कर रहा था और गलती से अपने आवेदन में sslport को दोहराया था। जैसा कि मैं यह समझता हूं कि applicationUrl को आवेदन का http होस्टनाम / पोर्ट होना चाहिए और sslPort में भरने से यह केवल IIS एक्सप्रेस परिवेश को sslPort में प्रदान किए गए पोर्ट पर applicationUrl में दिए गए होस्टनाम पर https सुनने के लिए कॉन्फ़िगर करता है।

उदाहरण के लिए:

  "iisSettings": {
     "windowsAuthentication": false,
     "anonymousAuthentication": true,
     "iisExpress": {
       "applicationUrl": "http://localhost:44000",
       "sslPort": 44300
      }
  }

स्थानीयहोस्ट पर निम्नलिखित दो समापन बिंदु प्रदान करता है।

  • पोर्ट 44400 पर Http
  • पोर्ट 44300 से अधिक

यदि आपको ApplicationUrl और sslPort सेटिंग्स में समान पोर्ट होना था, तो आपको इस थ्रेड से संबंधित त्रुटि प्राप्त होगी।

यह RC1 पर मेरे लिए सच है


ऐसा क्यों है कि sslPort ApplicationUrl से अलग होना चाहिए? यह मेरे लिए RTM तक काम करता था ...
बोरिस लिप्सचित्ज़

मेरे पास त्रुटि थी: वेब सर्वर 'आईआईएस एक्सप्रेस' से कनेक्ट करने में असमर्थ, और "\ .vs \ config \ applicationhost.config फ़ाइल" को हटाने के बाद "मुझे त्रुटि मिली" त्रुटि का प्रयास हुआ ... "। प्रोजेक्ट प्रॉपरिज में> डिबग आई अनटेड एसएसएल, डिबगर (वर्किंग) चलाया, एसएसएल को फिर से टिकटिक किया और यूआरएल को "ऐप यूआरएल" में कॉपी किया, एसएसएल मोड में डिबगिंग फिर से काम करता है। विंडोज़ अपडेट के बाद त्रुटि दिखाई दी, यह सुनिश्चित नहीं था कि क्या यह कारण था। मेरे iisSettings अब "iisExpress" हैं: {"applicationUrl": " localhost: 44369 ", "sslPort": 44369} .. यह काम करता है अगर पोर्ट नंबर समान नहीं हैं
JimSweden

6

इसे अपग्रेड करना संभव है, मैंने पाया कि मुझे यहां नए अपडेट किए गए टेम्प्लेट के माध्यम से देखना था ।

अपडेट करने के लिए wwwroot में अपने web.config को अपडेट करें:

<httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="false" startupTimeLimit="3600"/>

आपको अपनी परियोजना को संशोधित करके Kestrel का उपयोग करके प्रोजेक्ट डीबग के तरीके को बदलने की भी आवश्यकता होगी।

"commands": {
  "web": "Microsoft.AspNet.Server.Kestrel"
},
"dependencies": {
  "Microsoft.AspNet.IISPlatformHandler": "1.0.0-beta8",
  "Microsoft.AspNet.Server.Kestrel": "1.0.0-beta8",
}

और अपने hosting.ini को संशोधित कर रहा है

server=Microsoft.AspNet.Server.Kestrel

और इसे स्टार्टअप में कॉन्फ़िगर विधि में जोड़ें

// Add the platform handler to the request pipeline.
app.UseIISPlatformHandler(); 

इन संदर्भों को जोड़ने से आपको परियोजना चलाने की अनुमति मिलनी चाहिए।


5

मैं इस समस्या को हिट करने की कोशिश कर रहा हूं, क्योंकि प्रोजेक्‍ट कॉन्‍फ़िगरिंग लॉन्च http : // लोकलहोस्‍ट की जगह http। "डीबग" के तहत वेबप्रोजेक्ट पर राइट क्लिक करें और "ऐप यूआरएल" को एडजस्ट करें बजाय https के। यहां छवि विवरण दर्ज करें

इसे प्राप्त करने का दूसरा तरीका लॉन्चर को "IIS एक्सप्रेस" से "वेब" पर स्विच करना था।


3

विजुअल स्टूडियो में:

इस ट्यूटोरियल का अनुसरण करते हुए मुझे एक समान त्रुटि मिली।

सबसे पहले, मुझे त्रुटि मिली: "dotnet.exe की प्रक्रिया आईडी को निर्धारित करने का प्रयास करते समय एक त्रुटि हुई ..." मैंने निम्नलिखित कदम उठाए।

  1. मैंने CTRL + F5 डिबग किए बिना अपना एप्लिकेशन शुरू किया।
  2. फिर मुझे लोकलहोस्ट के लिए स्व-हस्ताक्षरित प्रमाण पत्र स्वीकार करने के विकल्प के साथ प्रस्तुत किया गया।
  3. मैंने संकेतों का पालन किया और फिर मैं प्रोजेक्ट डिबग सेटिंग्स में एसएसएल को सक्षम करने के बाद कॉपी किए गए अप्प्लुएल का उपयोग करके अपने आवेदन का दौरा करने में सक्षम था।

उस त्रुटि को हल करने के लिए कुछ चीजों की कोशिश करते हुए मैं भी इस त्रुटि के पार आ गया। "DNX प्रक्रिया की प्रक्रिया आईडी को निर्धारित करने के प्रयास में एक त्रुटि हुई जो आपके आवेदन की मेजबानी कर रही है"

जो चल रहे एप्लिकेशन का एक और उदाहरण होने के कारण हुआ था।

मुझे उम्मीद है कि यह जवाब किसी की मदद करता है।


रुको, तो जवाब "चल रहे आवेदन का एक और उदाहरण होने के कारण" है? इसे अभी और स्पष्ट करना चाहिए।
खून से सना हुआ

2

एक एस्प नेट कोर 1.1, .net फ्रेमवर्क 4.5.2 परियोजना में मेरे मामले में, त्रुटि dnx को संदर्भित नहीं करती है क्योंकि यह अधिक नहीं है। इसके बजाय यह प्रोजेक्ट नाम exe को संदर्भित करता है। त्रुटि का एक और संस्करण केवल आईस एक्सप्रेस से कनेक्ट करने में असमर्थ होने के लिए संदर्भित है।

समस्या एक विहित मेजबान नाम पुनर्लेखन नियम की शुरूआत थी जो www से शुरू होने वाले होस्ट नाम के लिए सभी कनेक्शनों को बाध्य करने की कोशिश करता है। उदाहरण के लिए हमारे ssl प्रमाणपत्र के अनुरूप www.gty.org पर gty.org को पुनः निर्देशित करें। यह उत्पादन में ठीक है, लेकिन आप https: // localhost: 44347 / को www से शुरू करने के लिए बाध्य नहीं कर सकते हैं और उम्मीद करते हैं कि iis एक्सप्रेस इसे संभालने में सक्षम होगा।

<rule name="CanonicalHostNameAddwww" enabled="true" stopProcessing="true">
      <match url="(.*)" ignoreCase="true" />
      <conditions logicalGrouping="MatchAll">        
        <add input="{HTTP_HOST}" negate="true" pattern="^www\." />
      </conditions>
      <action type="Redirect" url="http://www.{HTTP_HOST}{HTTP_URL}"  appendQueryString="false" redirectType="Permanent" />
</rule>

समाधान दृश्य स्टूडियो में चलने या एक शर्त जोड़ने पर नियम को टिप्पणी करना था:

<add input="{HTTP_HOST}" negate="true" pattern="^localhost" />

2

मान लें कि आप अपने इंस्टॉलेशन के आधार पर IIS एक्सप्रेस को SSL सक्षम के साथ चला रहे हैं, तो आपको अपने IIS एक्सप्रेस डेवलपमेंट सर्टिफिकेट ("लोकलहोस्ट" ("लोकलहोस्ट" द्वारा जारी किए गए) या तो [लोकल कंप्यूटर \ पर्सनल \ सर्टिफिकेट] या [लोकल कंप्यूटर] में डालने होंगे। [विश्वसनीय रूट प्रमाणन \ प्रमाण पत्र]। उनमें से एक को काम करना चाहिए। (Windows 10 + VS2015 का उपयोग करके)। HTH


IIS एक्सप्रेस डेवलपमेंट सर्टिफिकेट को लोकल कंप्यूटर \ ट्रस्टेड रूट सर्टिफिकेशन \ _ सर्टिफिकेट में शामिल करना मेरे लिए काम कर गया। धन्यवाद! (किसी और के लिए, मेरे मामले में मेरे पास पहले से ही स्थानीय कंप्यूटर \ व्यक्तिगत प्रमाण पत्र में प्रमाण पत्र था)
डेविड एलेयू

1

अमान्य प्रविष्टियों के लिए web.config फ़ाइल की जाँच करें। उदाहरण के लिए, "UnitFramework" टैग होने से मेरे लिए यह समस्या होती है।


1

मुझे यह समस्या तब हुई जब मैं सेटिंग्स को टॉगल कर रहा हूं और प्रोजेक्ट> गुण> डीबग में " बेनामी प्रमाणीकरण सक्षम करें " को अक्षम कर दिया है । सुनिश्चित करें कि यह सक्षम है। बंद करें और फिर से प्रोजेक्ट को फिर से शुरू करें। उम्मीद है की यह मदद करेगा।


मेरे पास एक ही मुद्दा था, लेकिन केवल अनाम को सक्षम करने के बजाय, मुझे अनाम या विंडोज़ प्रमाणीकरण को सक्षम करना पड़ा। यदि दोनों झूठे थे, तो मुझे त्रुटि मिली।
बीरकेन25

1

मैंने RC1 और EF फर्स्ट कोड दृष्टिकोण का उपयोग किया। जांच शुरू करने का अच्छा विचार है कि विकल्प के साथ प्रोजेक्ट चलाएं: "बिना डिबगिंग के प्रोजेक्ट शुरू करें" (Ctrl + F5)। तब मुझे मेरे लिए और अधिक सार्थक त्रुटि मिलती है: "कॉन्फ़िगरेशन अनुभाग 'एंटिटीफ्रेमवर्क' को पढ़ा नहीं जा सकता क्योंकि यह एक विभाजन याद कर रहा है।" यह web.config फ़ाइल के कारण मेरे लिए काम नहीं किया।


1
  1. अद्यतन dnvm
  2. Dnvm के डिफ़ॉल्ट के रूप में Global.json sdk संस्करण बदलें
  3. Project.json या project.lock.json को छूने की आवश्यकता नहीं है

0

जब बीटा 7 से अपग्रेड किया जा रहा है -> बीटा 8 में मेरे पास यह मुद्दा था और बेन एम और डोम्सी द्वारा प्रदान किए गए सुझावों ने मेरे लिए काम किया। हालाँकि, मेरे एक सहकर्मी को अभी भी हमारे प्रोजेक्ट को चलाने में समस्या आ रही थी जो dnxcore50केवल लक्ष्य करता है। यदि आप सुनिश्चित करते हैं कि आपने निम्नलिखित कमांड्स चलाए हैं:

dnvm install 1.0.0-beta8 -r coreclr
dnvm install 1.0.0-beta8 -r coreclr -arch x86

यह विशेष रूप से दूसरा कमांड था जिसने इसे अपनी मशीन पर तय किया। आप इस फ़ोल्डर में एक डबल-चेक भी कर सकते हैं dnx.exe:

%userprofile%\.dnx\runtimes\dnx-coreclr-win-x86.1.0.0-beta8\bin

0

मैंने अभी एक और समस्या की खोज की है जो यह पैदा कर रहा है!

web.configप्रोजेक्ट रूट में HTTPS को लागू करने के लिए कुछ डॉगी IIS URL को फिर से लिखना था। उन नियमों को हटाने से समस्या हल हो गई।


0

ऐसी बहुत सी चीजें हैं जो इस त्रुटि का कारण बन सकती हैं। यहाँ कुछ है कि मेरे लिए काम कर रहे हैं:

  1. बस web.configअपने wwwrootफ़ोल्डर में हटाएं । यह संकलन पर सही ढंग से फिर से बन जाएगा।
  2. यदि आप उपयोग करने की कोशिश कर रहे हैं SSLऔर आपके IIS Expressऔर फ़ोल्डर में जाने के SSL Certलिए Trusted Root Certification Authoritiesकाम नहीं किया। उस प्रोजेक्ट के Debugटैब में जिसे Propertiesआप चलाने का प्रयास कर रहे हैं। Enable SSLचेकबॉक्स को खाली करने की कोशिश करें और फिर इसे सक्षम करने के लिए फिर से क्लिक करें और एक अलग पोर्ट प्राप्त करें। ऐसा आपको कुछ बार करना पड़ सकता है।

0

एक और संभावित समाधान
एसएसएल सेटिंग्स के साथ खेलने वाले किसी भी व्यक्ति के लिए, मुझे बस एसएसएल पोर्ट को बदलना हैlaunchSettings.json फ़ाइल को पास के दूसरे से समस्या हल हो गई है।

FYI करें, मुझे मूल पोर्ट का उपयोग करके मशीन पर कुछ भी नहीं मिला, न ही मुझे उपयोग त्रुटि में एक पोर्ट मिला।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.