Відповіді:
Для мене проблему було вирішено закриттям Visual Studio, видаленням
project.lock.json
і знову запустити Visual Studio.
Редагувати : я використовував RC1.
project.lock.json
?
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 також може допомогти.
Для інших людей, які мають цю проблему, у випадках, коли інші рішення не працюють - я знайшов відповідь у цій темі: Примушування використовувати SSL: сталася помилка при спробі визначення ідентифікатора процесу DNX-процесу, що розміщує вашу програму
Якщо ваш проект використовує або примушує SSL запускати його без налагодження (CTRL + F5) спочатку, він попросить вас створити локальний сервер SSL, а після цього налагодження запрацює, і помилка не буде зникла.
Оскільки це варте, це загальне повідомлення про помилку, яке може послужити червоною оселедцем до будь-якої кількості проблем, де httpPlatformHandler не може запустити даний виконуваний файл (dnx у цьому випадку).
У моєму випадку я отримав цю помилку як прямий результат нерозуміння файла startSettings.json. Я намагався ввімкнути кінцеву точку https для моєї програми та помилково дублював sslport у своїй програміUrl. Як я розумію, applicationUrl має бути http ім'ям хоста / порту програми, і, заповнивши sslPort, він просто налаштовує середовище IIS Express для прослуховування https на ім'я хоста, вказане в applicationUrl на порту, передбаченому в sslPort.
Наприклад:
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:44000",
"sslPort": 44300
}
}
Надає наступні дві кінцеві точки на localhost.
Якщо ви мали б однаковий порт у налаштуваннях applicationUrl та sslPort, ви отримаєте помилку, пов’язану з цим потоком.
Це справедливо для мене на RC1
Можливе оновлення, я виявив, що мені довелося переглянути нові оновлені шаблони тут .
Оновіть свою web.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",
}
та змінення вашого hosting.ini
server=Microsoft.AspNet.Server.Kestrel
і додавши це до методу Налаштування в startup.cs
// Add the platform handler to the request pipeline.
app.UseIISPlatformHandler();
додавання цих посилань повинно дозволяти запускати проект.
Я потрапив у цю проблему через налаштування проекту, який намагався запустити https: // localhost замість http. Клацніть правою кнопкою миші на веб-проект, у розділі "Налагодження" та відрегулюйте "URL-адреса програми", щоб вона була http замість https.
Ще одним способом подолати це було перемикання пускової установки з "IIS Express" на "Web"
Під час виконання цього підручника я отримав подібну помилку.
По-перше, я отримав помилку: "Під час спроби визначити ідентифікатор процесу dotnet.exe сталася помилка." Я зробив наступні кроки.
Намагаючись вирішити цю помилку, я також натрапив на цю помилку. "Під час встановлення ідентифікатора процесу DNX-процесу, що розміщує вашу програму, сталася помилка"
Це було викликано запуском ще одного примірника програми.
Я сподіваюся, що ця відповідь комусь допоможе.
У моєму випадку в проекті Asp net core 1.1, .net Framework 4.5.2, помилка не стосувалася dnx, оскільки цього більше немає. Натомість він посилався на назву проекту exe. Ще одна версія помилки стосувалася просто неможливості підключення до iis express.
Проблемою було запровадження канонічного правила перезапису імені хоста, яке намагається змусити всі з'єднання мати ім'я хоста, що починається з www. наприклад, перенаправлення gty.org на www.gty.org, щоб відповідати нашому ssl cert. Це добре в виробництві, але ви не можете змусити 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>
Рішенням було прокоментувати це правило під час роботи у візуальній студії або додати умову:
<add input="{HTTP_HOST}" negate="true" pattern="^localhost" />
Якщо припустити, що ви працюєте з IIS Express із включеним SSL залежно від встановлення, вам доведеться покласти свій сертифікат розвитку IIS Express (виданий "localhost" / виданий "localhost") або в [Локальний комп'ютер \ Особисті \ Сертифікати] або [Локальний комп'ютер \ Довірена коренева сертифікація \ Сертифікати]. Один з них повинен працювати. (За допомогою Windows 10 + VS2015). HTH
Перевірте файл web.config на наявність недійсних записів. Наприклад, тег "entitFramework" там викликає цю проблему для мене.
У мене виникли проблеми, коли я перемикав налаштування та відключив " Увімкнути анонімну автентифікацію " в проекті> Властивості> Налагодження. Переконайтесь, що він увімкнено. Закрийте та відновіть проект, а потім спробуйте ще раз. Сподіваюся, це допомагає.
Я використав RC1 і перший код підхід. Доброю ідеєю для початку дослідження є запуск проекту з опцією: "Запустити проект без налагодження" (Ctrl + F5). Тоді я отримую для мене більш значущу помилку: "Розділ конфігурації 'entitFramework' неможливо прочитати, оскільки в ньому відсутня декларація розділу." Це не працювало для мене через файл web.config.
Під час оновлення до версії beta7 -> beta8 у мене виникла ця проблема, і пропозиції, надані Бен М та Домісі, працювали на мене. Однак у одного з моїх колег все ще виникали проблеми при виконанні нашого проекту, який спрямований 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
у своїй wwwroot
папці. Це буде відтворено правильно при компіляції.SSL
і в вашому, так IIS Express
і переміщення свого SSL Cert
до Trusted Root Certification Authorities
папки, не вийшло. На Debug
вкладці Properties
проекту, який ви намагаєтеся запустити. Спробуйте зняти Enable SSL
прапорець і знову клацніть його, щоб увімкнути його та отримати інший порт. Можливо, вам доведеться це зробити кілька разів.Ще одне потенційне рішення
Для всіх, хто грає з налаштуваннями SSL, я знайшов просто зміну SSL-порту вlaunchSettings.json
файлі на інший сусідній порт вирішила проблему.
FYI, я не міг нічого знайти на машині за допомогою оригінального порту, а також не отримав порту під час використання.