-
保证电脑上有.net core sdk或者.net core runtime;
-
需要安装AspNetCoreModule托管模块:DotNetCore.2.0.5-WindowsHosting.exe
-
上面的托管模块安装成之后需要重启电脑,或者使用命令行。
net stop was /y
net start w3svc
- 发布项目,这是时候要注意权限。我发布的方式一直都是用dotnet cli 的dotnet publish命令,如果第一次发布会报权限不足的问题,然后我就会把publish文件夹的权限做一下处理。
-
iis创建网站,然后把路径绑定到publish文件夹。
-
编辑应用程序池,把.net clr版本设置为无托管代码。
重新创建了一个.net core mvc项目发布,竟然能访问,但是原来的项目还是不能访问。
于是查看了一下windows日志
- 用cortana打开事件查看器
- Windows日志
- 应用程序
- 重新运行一下网站
有几个错误日志,ErrorCode:0x80004005 : 8000808c
Bing了一下,大概意思是可能有版本问题(大概是因为我电脑里装了好几个.net core sdk或.net core runtime了吧)
解决方案
在项目文件中添加一句话
<PropertyGroup>
<PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
</PropertyGroup>
- 然后publish文件夹中多了好多文件夹,重新运行网站,好用了。
仔细看了看,应该是发布的时候把运行时包含在发布文件夹里了吧,这样也许就不会有版本问题了吧。)