我有一个使用Kestrel和默认设置的Asp.Net Core 2.2应用程序。我进入了项目的调试属性,并将“启动浏览器”设置设置为要在调试时开始的页面,将“启动”设置为“项目”。一切正常,但我希望Kestrel使用特定端口。我找到了很多适用于该端口的示例(我使用hosting.json方式),但是它们似乎都忽略了“启动浏览器”设置。
是否没有办法让Visual Studio使用我选择的URL 自动打开新窗口/选项卡,并且在调试时使用特定端口??
Program.cs
public class Program
{
public static void Main(string[] args)
{
var host = WebHost.CreateDefaultBuilder(args)
.UseKestrel()
.UseStartup<Startup>()
.Build();
host.Run();
}
}
launchSettings.json
{
"profiles": {
"Kestrel": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "swagger"
}
}
}
hosting.json
{
"urls": "https://localhost:44350/;"
}
如果我正在使用hosting.json,则主要是:
public static void Main(string[] args)
{
var config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddCommandLine(args)
.AddJsonFile("hosting.json", optional: true)
.Build();
var host = WebHost.CreateDefaultBuilder(args)
.UseConfiguration(config)
.UseKestrel()
.UseStartup<Startup>()
.Build();
host.Run();
}
答案 0 :(得分:1)
在项目的调试属性中,应将“ Web服务器设置”的应用URL设置为所需的特定端口,并且默认选中“启动浏览器”。
或者您也应该在launchSettings.json中设置特定端口,如下所示:
"MVC2_2Project": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "https://localhost:7001;http://localhost:7000"
}
launchSettings.json中的设置与项目的调试属性是同步的,您可以在一个位置进行设置。