[英]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.