我写了一个Asp.net core mvc项目,可是部署在iis发生了502.5的问题一直解决不了。windows
系统:最强Win10;mvc
工具:轻巧VS Code;工具
各类百度bing都没有我要的解决方案,说的都是网站
保证电脑上有.net core sdk或者.net core runtime;.net
须要安装AspNetCoreModule托管模块:DotNetCore.2.0.5-WindowsHosting.exe命令行
上面的托管模块安装成以后须要重启电脑,或者使用命令行。日志
net stop was /y net start w3svc
发布项目,这是时候要注意权限。我发布的方式一直都是用dotnet cli 的dotnet publish命令,若是第一次发布会报权限不足的问题,而后我就会把publish文件夹的权限作一下处理。code
iis建立网站,而后把路径绑定到publish文件夹。事件
编辑应用程序池,把.net clr版本设置为无托管代码。部署
搜到的结果基本上和这个都差很少,可是和个人状况都不同,哎呀我这个小脾气。
从新建立了一个.net core mvc项目发布,我靠!居然能访问,可是原来的项目仍是不能访问。
因而查看了一下windows日志
嘿嘿~果真有几个错误日志,ErrorCode:0x80004005 : 8000808c
Bing了一下,大概意思是可能有版本问题(大概是由于我电脑里装了好几个.net core sdk或.net core runtime了吧)
就我这个English level居然在stackoverflow上找到了解决方案。
在项目文件中添加一句话
<PropertyGroup> <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest> </PropertyGroup>
而后publish文件夹中多了好多文件夹,从新运行网站,哎呀 这个骚浪贱居然好用了。
仔细看了看,应该是发布的时候把运行时包含在发布文件夹里了吧,这样也许就不会有版本问题了吧。(不知道对不对,有大神看见的话请指教:))