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


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

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

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

18 100

18 ответов:

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

project.lock.json

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

Edit: я использовал 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 папки все снова работало.
Как отметил пользователь764754, простой перезапуск Visual Studio также может помочь.

для других людей, имеющих эту проблему, в тех случаях, когда другие решения не работают - я нашел ответ в этой теме: принудительное использование SSL: произошла ошибка при попытке определить идентификатор процесса процесса 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

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

обновление веб.конфигурация в wwwroot для включения:

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

вам также нужно будет изменить способ отладки проекта С помощью пустельги путем изменения вашего проекта.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, в разделе " Debug "и настроить" App URL", чтобы быть http вместо https. enter image description here

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

В Visual Studio:

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

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

  1. я запустил свое приложение без отладки CTRL+F5.
  2. затем мне была предоставлена возможность принять самозаверяющий сертификат для localhost.
  3. я следовал подсказкам, а затем я смог посетите мое приложение, используя приложение, которое я скопировал после включения 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 Экспресс развития сертификат(выдан на "localhost"/ выданные "локальный") либо [локальный компьютер\личные\сертификаты] или [локальный компьютер\Доверенные корневые центры сертификации\сертификаты]. Один из них должен сработать. (С помощью Windows 10 + VS2015). ХТ

Проверьте веб.конфигурационный файл для недопустимых записей. Например, наличие тега "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 до Trusted Root Certification Authorities папка не работает. В на Properties проекта, который вы пытаетесь запустить. Попробуйте отключить Enable SSL флажок, а затем щелкните его снова включить его и получить другой порт. Возможно, вам придется сделать это несколько раз.

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

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

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

WebApplication.csproj.user

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