如何配置 ASP.NET Core 1.0 以使用本地 IIS 而不是 IIS Express?
How to configure ASP.NET Core 1.0 to use Local IIS instead of IIS Express?
如何设置 .Net Core 1.0 项目以使用 Local IIS 而不是 IIS Express调试时?
我尝试过以各种方式修改 launchSettings.json 文件。例如,将所有出现的 IIS Express 替换为 Local IIS 并更新 applicationUrl 和 launchUrl 使用我的自定义本地主机 http://sample.local(我已经更新了主机文件并配置了 IIS 管理器)但不高兴。
Properties/launchSettings.json 文件的默认设置:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:38601/",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"SampleApp": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
您目前无法在开发时直接使用 IIS 来托管 ASP.NET 核心应用程序,因为开发文件夹不提供 IIS 需要托管的所有必要文件。这使得 运行 在 开发 环境中成为 ASP.NET 核心有点痛苦。
正如 this article by Rick Strahl 中所指出的,没有太多理由尝试这样做。当 运行 ASP.NET 核心应用程序时,IIS 做的很少 - 事实上,您的应用程序不再直接在 IIS 进程中运行,而是在托管 Kestrel Web 服务器的完全独立的控制台应用程序中运行。因此,当您自行托管控制台应用程序时,您实际上 运行 处于基本相同的环境中。
如果您 需要发布您的应用程序,您可以使用 dotnet
命令行或 Visual Studio 工具.
比如要发布到C:\output
文件夹,可以使用如下命令:
dotnet publish
--framework netcoreapp1.0
--output "c:\temp\AlbumViewerWeb"
--configuration Release
然后您可以将您的 IIS 站点指向输出文件夹。确保将应用程序池 CLR 版本设置为 无托管代码 并且 AspNetCoreModule 可用。
有关详细信息,请参阅 https://docs.asp.net/en/latest/publishing/iis.html
如何设置 .Net Core 1.0 项目以使用 Local IIS 而不是 IIS Express调试时?
我尝试过以各种方式修改 launchSettings.json 文件。例如,将所有出现的 IIS Express 替换为 Local IIS 并更新 applicationUrl 和 launchUrl 使用我的自定义本地主机 http://sample.local(我已经更新了主机文件并配置了 IIS 管理器)但不高兴。
Properties/launchSettings.json 文件的默认设置:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:38601/",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"SampleApp": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
您目前无法在开发时直接使用 IIS 来托管 ASP.NET 核心应用程序,因为开发文件夹不提供 IIS 需要托管的所有必要文件。这使得 运行 在 开发 环境中成为 ASP.NET 核心有点痛苦。
正如 this article by Rick Strahl 中所指出的,没有太多理由尝试这样做。当 运行 ASP.NET 核心应用程序时,IIS 做的很少 - 事实上,您的应用程序不再直接在 IIS 进程中运行,而是在托管 Kestrel Web 服务器的完全独立的控制台应用程序中运行。因此,当您自行托管控制台应用程序时,您实际上 运行 处于基本相同的环境中。
如果您 需要发布您的应用程序,您可以使用 dotnet
命令行或 Visual Studio 工具.
比如要发布到C:\output
文件夹,可以使用如下命令:
dotnet publish
--framework netcoreapp1.0
--output "c:\temp\AlbumViewerWeb"
--configuration Release
然后您可以将您的 IIS 站点指向输出文件夹。确保将应用程序池 CLR 版本设置为 无托管代码 并且 AspNetCoreModule 可用。
有关详细信息,请参阅 https://docs.asp.net/en/latest/publishing/iis.html