2

我想在Windows上運行一個簡單的網站bash(Windows週年更新bash),但我迄今爲止沒有成功。在窗戶上運行紅隼

我能夠創建和運行控制檯應用程序,但每當我對Web項目類型

dotnet run 

,我得到:

Unhandled Exception: System.AggregateException: One or more errors occurred. (Error -98 EADDRINUSE address already in use) ---> Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvException: Error -98 EADDRINUSE address already in use 
    at Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.Libuv.Check(Int32 statusCode) 
    at Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvTcpHandle.GetSockIPEndPoint() 
    at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.TcpListenerPrimary.CreateListenSocket() 
    at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Listener.<>c.<StartAsync>b__6_0(Object state) 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.ListenerPrimary.<StartAsync>d__11.MoveNext() 
    --- End of inner exception stack trace --- 
    at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) 
    at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) 
    at Microsoft.AspNetCore.Server.Kestrel.Internal.KestrelEngine.CreateServer(ServerAddress address) 
    at Microsoft.AspNetCore.Server.Kestrel.KestrelServer.Start[TContext](IHttpApplication`1 application) 
    at Microsoft.AspNetCore.Hosting.Internal.WebHost.Start() 
    at Microsoft.AspNetCore.Hosting.WebHostExtensions.Run(IWebHost host, CancellationToken token, String shutdownMessage) 
    at Microsoft.AspNetCore.Hosting.WebHostExtensions.Run(IWebHost host) 
    at WebApplication.Program.Main(String[] args) 

任何人都已經成功的在這?我是否問了太多「精簡版beta linux版本」?

編輯:

若要重現行爲,在慶典上Windows提示我輸入:

mkdir mytestwebsite 
cd mytestwebsite 
dotnet new -t web 
dotnet restore 
dotnet run 

,然後出現的問題。

+0

也許你可以給專業讀者一些代碼來處理,因爲你是說「它不工作」恕我直言。你讀過http://stackoverflow.com/help/mcve嗎?祝你好運。 – shellter

+0

謝謝@shellter,編輯 – mCasamento

+0

看起來那個端口已經在使用中了。 – ManoDestra

回答

2

該錯誤信息的重要組成部分,是這樣的:

錯誤-98 EADDRINUSE地址已在使用

這是說的東西已經綁定到你想監聽的端口上。例如,如果您嘗試運行Kestrel並在端口80(默認HTTP端口)上偵聽,則Apache也可能已經連接。您需要關閉已在該端口上偵聽的任何內容,或者更改您的應用以選擇新端口。

+0

我無法解釋誰正在使用端口5000(默認kestrel端口,似乎是免費的),但一些隨機嘗試5001和5050隨機「5123」的工作。 所以我想你是對的,謝謝 – mCasamento

+0

嘗試運行'netstat',它應該列出所有端口。不知道這是否與Windows上的Bash ... – DavidG

+0

已經嘗試過,但它什麼也沒有顯示。在Windows主機上也嘗試過,因爲他們共享相同的地址,但是再次沒有運氣。 對我來說這仍然是一種神祕感,但我很高興至少我可以在沒有虛擬機的情況下運行紅隼,共享相同的文件系統等等。它畢竟是測試版的東西 – mCasamento