正如評論中指出的那樣,有一個open tooling issue for this bug。在此同時,我已經能夠成功地調試使用WebListener這需要以下兩個變化:
在Startup.cs
using Microsoft.AspNet.Http.Features;
using Microsoft.Net.Http.Server;
,並在Configure
方法Add:
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"
},
,並確保你在dependencies
部分
"Microsoft.AspNet.Server.WebListener": "1.0.0-beta8",
有WebListener因爲我是從公測7升級,我不得不改變我hosting.ini文件轉換成JSON格式 - 不知道這是重要的或者不是!
完成此操作後,您應該可以使用weblistener而不是IIS Express進行調試。因爲kestrel不支持(也不會)支持NTLM身份驗證,所以使用web(即kestrel)進行調試不起作用。
我發現,如果我直接在project.json中更改了「web」命令,Visual Studio會幫助將其更改回kestrel,因此添加單獨的命令as recommended by the Microsoft team似乎可以讓所有內容都保持開心。
謝謝。我的問題發生在使用Beta 8創建的項目上,而不是在升級過程中。任何想法爲什麼? – Sam
我有完全相同的問題薩姆 - 完美地與Windows身份驗證未勾選,勾選它,它不再起作用。我已經完成了@ pj-mahoney提到的答案中推薦的所有內容,似乎沒有任何幫助。 –
看起來像這是一個工具錯誤 - 請參閱[這個公開問題](https://github.com/aspnet/Hosting/issues/419) - 我試圖找出一個解決方法,並會發佈一個答案,如果我做。 –