2015-10-18 5 views
6

После обновления до бета-версии 8 отладка с использованием проверки подлинности Windows не работает в IIS Express. Я получаю сообщение об ошибкеASP.NET MVC6 Beta8 и проверка подлинности Windows

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

Шаги для воспроизведения :.

  1. Создайте новый проект и выберите Пустой веб-шаблон.
  2. В настройках проекта измените параметры IIS Express, чтобы использовать проверку подлинности Windows. Снимите отметку с анонимной проверки подлинности.
  3. Включить SSL.
  4. Отладить проект.
  5. Ошибка.

Я использую новую установку Windows и Visual Studio. Нужно ли загружать любое дополнительное программное обеспечение, кроме installation files?

+0

Спасибо. Моя проблема возникает с проектом, созданным с использованием бета-версии 8, а не во время обновления. Любая идея почему? – Sam

+0

У меня точно такая же проблема Сэм - отлично работает с проверкой подлинности Windows, пометить ее, и она больше не работает. Я прошел через все, что было рекомендовано в ответ, упомянутый @ pj-mahoney, и ничего не помогает. –

+0

Похоже, что это ошибка инструментария - см. [Эта открытая проблема] (https://github.com/aspnet/Hosting/issues/419). Я пытаюсь разработать обходное решение и опубликую ответ, если я делать. –

ответ

3

Как отмечается в комментариях, существует open tooling issue for this bug. В то же время, я был в состоянии успешно отлаживать с помощью Weblistener, которая требует следующие два изменения:

В Startup.cs

using Microsoft.AspNet.Http.Features; 
using Microsoft.Net.Http.Server; 

и в Configure метод дополнения:

var listener = app.ServerFeatures.Get<WebListener>(); 
if (listener != null) 
{ 
    listener.AuthenticationManager.AuthenticationSchemes = AuthenticationSchemes.NTLM; 
} 

В project.json добавить новую команду weblistener следующим образом:

"commands": { 
    "weblistener": "Microsoft.AspNet.Server.WebListener --config hosting.ini", 
    "web": "Microsoft.AspNet.Server.Kestrel" 
}, 

и убедитесь, что вы имеете Weblistener в вашем dependencies разделе

"Microsoft.AspNet.Server.WebListener": "1.0.0-beta8", 

Как я модернизировал от беты-версии 7, я должен был изменить свой файл hosting.ini в формат JSON - не знаю, если это важно или нет!

Как только это будет сделано, вы сможете отлаживать использование weblistener вместо IIS Express. Использование web (например, пустельга) для отладки не работает, поскольку пустельга не поддерживает и не поддерживает NTLM-аутентификацию.

Я обнаружил, что если бы я изменил команду «web» непосредственно в project.json, Visual Studio поможет ее скорректировать обратно в пустельга довольно агрессивно, поэтому добавление отдельной команды as recommended by the Microsoft team, похоже, все в порядке.

+0

@Sam Я немного изменил этот ответ, поскольку обнаружил, что Visual Studio все время меняет мою «веб-команду» на Kestrel независимо от того, что я сделал. Дайте мне знать, если это не сработает для вас. –

Смежные вопросы