[英]How to configure ASP.NET Core 1.0 to use Local IIS instead of IIS Express?
如何在调试时设置.Net Core 1.0项目以使用本地IIS而不是IIS Express ?
我尝试以各种方式修改launchSettings.json文件。 例如,用本地IIS替换所有出现的IIS Express ,并更新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 Core应用程序,因为开发文件夹无法提供IIS需要承载的所有必需文件。 这使得在开发环境中运行ASP.NET Core有点麻烦。
正如Rick Strahl在本文中所指出的那样,尝试这样做的理由并不多。 在运行ASP.NET Core应用程序时,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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.