这是我的Program.cs
public class Program
{
public static void Main(string[] args)
{
var config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("hosting.json", optional: true, reloadOnChange: true)
.Build();
var host = new WebHostBuilder()
.UseKestrel()
//.UseUrls("http://*:50000")
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
host.Run();
}
}
我有一个hosting.json如下。
{
"server.urls": "http://*:5011"
}
我的project.json包含以下内容
"publishOptions": {
"include": [
"wwwroot",
"Views",
"Areas/**/Views",
"appsettings.json",
"web.config",
"NLog.config",
"hosting.json"
]
}
然而,当我从Visual Studio内部或VS外部运行它时(仅通过启动可执行文件),我看到以下
为什么它没有在hosting.json中使用端口5011?
答案 0 :(得分:4)
您正在创建ConfigurationBuilder,但您没有使用它。您可以像这样使用配置构建器 - .UseConfiguration(config)。这是修改后的代码。
public static void Main(string[] args)
{
var config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("hosting.json", optional: true, reloadOnChange: true)
.Build();
var host = new WebHostBuilder()
.UseKestrel()
.UseConfiguration(config)
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
host.Run();
}