Произошла ошибка при попытке определить идентификатор процесса DNX процесс размещения приложения

Я получаю это сообщение об ошибке, когда я пытаюсь запустить приложение.

произошла ошибка при попытке определить идентификатор процесса DNX процесс размещения вашего приложения

есть ли способ решить проблему?

18 ответов


для меня проблема была решена путем закрытия Visual Studio, удаления

project.lock.json

и снова запустите Visual Studio.

редактировать: я использовал RC1.


Microsoft изменила модель хостинга, как описано в заметки.

на project.json заменить зависимость

"Microsoft.сеть САШ.Сервер.IIS": "1.0.0-beta7"

С

"Microsoft.сеть САШ.Сервер.Пустельга": "1.0.0-beta8"


на web.config на удалить все записи, кроме

<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 также может помочь.


для других людей, имеющих эту проблему, в тех случаях, когда другие решения не работают - я нашел ответ в этой теме: принуждение к использованию SSL: ошибка ocurred при попытке определить идентификатор процесса DNX процесса размещения приложения

I ваш проект использует или применяет SSL, запускает его без отладки (CTRL+F5) во-первых, он попросит вас создать локальный сертификат SSL, и после этого отладка будет работать, и ошибка исчезнет.


для чего это стоит, это общее сообщение об ошибке это может служить Красной селедкой для любого количества проблем, когда httpPlatformHandler не может запустить данный исполняемый файл (dnx в этом случае).

в моем случае я получил эту ошибку как прямой результат неправильного понимания launchSettings.файл json. Я пытался включить конечную точку https для своего приложения и ошибочно дублировал sslport в моем applicationUrl. Как я понимаю applicationUrl должен быть http-именем хоста / портом приложения, и, заполнив sslPort, он просто настраивает среду IIS Express для прослушивания https на имя хоста, указанное в applicationUrl на порту, предоставленном в sslPort.

например:

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

предоставляет следующие две конечные точки на localhost.

  • Http через порт 44400
  • Https через порт 44300

Если бы у вас было то же самое порт в настройках applicationUrl и sslPort вы получите ошибку, связанную с этим потоком.

Это верно для меня RC1


можно обновить, я обнаружил, что мне пришлось просматривать новые обновленные шаблоны здесь.

обновление веб.config в wwwroot включить:

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

Вам также нужно будет изменить способ отладки проекта использование Kestrel путем изменения вашего проекта.в JSON:

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

и изменение вашего хостинга.ini

server=Microsoft.AspNet.Server.Kestrel

и добавление этого в метод Configure при запуске.cs

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

добавить эти ссылки должны позволить вам запустить проект.


Я попал в эту проблему из-за конфигурации проекта, пытаясь запустить https://localhost вместо http. Щелкните правой кнопкой мыши на webproject в разделе " отладка "и настройте" URL-адрес приложения " как http вместо https. enter image description here

другим способом обойти это было переключение запуска с "IIS Express"на " Web"


В Visual Studio:

следуя этому руководству, я получил аналогичную ошибку.

во-первых, я получил сообщение об ошибке: "произошла ошибка при попытке определить идентификатор процесса dotnet.исполняемый... Я сделал следующие шаги.

  1. Я начал свое приложение без отладки CTRL+F5.
  2. затем мне была предоставлена возможность принять самозаверяющий сертификат для localhost.
  3. я последовал подсказкам, а затем я смог посетите мое приложение, используя AppUrl, который я скопировал после включения SSL в настройках отладки проекта.

при попытке несколько вещей, чтобы решить эту ошибку я также наткнулся на эту ошибку. "Произошла ошибка при попытке определить идентификатор процесса DNX процесса размещения вашего приложения"

что было вызвано запуском другого экземпляра приложения.

Я надеюсь, этот ответ поможет кому-то.


в моем случае в проекте asp net core 1.1, .net framework 4.5.2 ошибка не относится к dnx, так как этого больше нет. Вместо этого он ссылался на имя проекта exe. Другая версия ошибки связана с невозможностью подключения к iis express.

проблема заключалась в введении каноническое правило перезаписи имени хоста который пытается заставить все соединения иметь имя хоста, начинающееся с www. например, перенаправление gty.org к www.gty.org чтобы соответствовать к нашему сертификату ssl. Это хорошо в производстве, но вы не можете заставить https://localhost:44347/ для начала с www и ожидать, что iis express сможет справиться с этим.

<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>

решением было прокомментировать правило при запуске в visual studio или добавить условие:

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

предполагая, что вы используете IIS Express с включенным SSL в зависимости от вашей установки, вам придется поместить сертификат разработки IIS Express(выданный "localhost"/ выданный "localhost") в [локальный компьютер\личные\сертификаты] или [локальный компьютер\доверенная корневая сертификация\сертификаты]. Один из них должен сработать. (С помощью Windows 10 + VS2015). HTH


проверить web.файл конфигурации для недопустимых записей. Например, наличие тега "entityFramework" вызывает эту проблему для меня.


У меня была эта проблема, когда я переключаю настройки и отключил "Включить Анонимную Проверку Подлинности" в "проект" > "свойства" > "отладка". убедитесь, что он включен. Закройте и перезапустите проект, затем повторите попытку. Надеюсь, это поможет.


Я использовал rc1 и EF первый подход кода. Хорошей идеей для начала исследования является запуск проекта с опцией: "запустить проект без debbuging" (Ctrl+F5). Затем я получаю более значимую ошибку для меня: "раздел конфигурации" entityFramework " не может быть прочитан, потому что в нем отсутствует объявление раздела.- У меня не получилось из-за Уэба.конфигурационный файл.


  1. обновить dnvm
  2. изменение глобальной.версия JSON sdk в качестве dnvm по умолчанию
  3. нет необходимости касаться проекта.json или проект.замок.в JSON

при обновлении с beta7 - > beta8 у меня была эта проблема, и предложения, предоставленные Беном м и Domysee, работали для меня. Однако у одного из моих коллег все еще были проблемы с запуском нашего проекта, который нацелен 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

Я только что обнаружил еще одну проблему, которая была причиной этого!

web.config в корне проекта были некоторые изворотливые правила перезаписи URL IIS для применения HTTPS. Удаление этих правил решило проблему.


есть только так много вещей, которые могут вызвать эту ошибку. Вот несколько, которые сработали для меня:

  1. просто удалить web.config в своем wwwroot папка. Он будет правильно воссоздан при компиляции.
  2. если вы пытаетесь использовать SSL и в IIS Express и перемещение SSL Cert до на Properties проекта, который вы пытаетесь запустить. Попробовать unclicking в и затем щелкнув его снова включить его и получить другой порт. Возможно, вам придется сделать это несколько раз.

еще одно потенциальное решение
Для тех, кто играет с настройками SSL, я нашел просто изменение порта SSL в launchSettings.json файл в другой близлежащий порт решил проблему.

FYI, я не мог найти ничего на машине, используя исходный порт, и я не получил порт в ошибке использования.


для меня проблема была решена путем закрытия Visual Studio, удаления

WebApplication.csproj.user

и снова запустите Visual Studio.