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