dotnet run 提示System.Net.Sockets.SocketException (10049): 在其上下文中,该请求的地址无效。
launchsettings.json配置中包含了多个环境所致。以下是默认生成的配置,有两个环境一个是IIS Express,另外一个是Project(通过CommanName可知),默认运行dotnet run会执行project类型,如果只有一个回作为默认值使用,就不会有问题。如果有多个的话会获取不到导致出错。
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:58970",
"sslPort": 44395
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"codes": {
"commandName": "Project",
"launchBrowser": true,
"applicationUrl": "https://localhost:5001;http://localhost:99000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
查看官方文档
解决办法:
使用帮助命令-h,可知需要明确指定启动配置文件: dotnet run --launch-profile xxx
例如下面的配置文件,假如我们要使用codes-test的配置,可以这样:dotnet run --launch-profile codes-test
学会看官方文档可以少走很多弯路。
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:58970",
"sslPort": 44395
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"codes": {
"commandName": "Project",
"launchBrowser": true,
"applicationUrl": "https://localhost:5001;http://localhost:99000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"codes-test": {
"commandName": "Project",
"launchBrowser": true,
"applicationUrl": "https://localhost:5001;http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
更多精彩

