这篇文是因为第一次做api的发布而记的流程,希望不要有人像我这么踩坑(本意是要实现小程序的真机调试,api的发布是其中的一个环节)
一:准备好一个要发布的api项目
项目右键->发布
新建->选择文件夹
文件夹位置我没有改,在完成之后会自动在你的项目中生成这个发布文件夹,到时候IIS配置里面会用到这个路径
发布之后输出列表会显示发布成功
二:本地IIS配置和访问
首先你得启用了IIS(控制面板->程序与功能->启用或关闭Windows功能->Internet Information Services),不然直接搜索IIS是没有的
打开网站->添加网站->网站名称自己可以随便定义->物理路径选到你刚刚要发布的项目的物理路径(我这里是选到项目下的bin\app.publish),忘记标端口了,端口要改为和自己不冲突的,不要写默认80端口,其他就不要填了
确定即可
三:网站发布遇到的错
重头戏来了,bug环节,点击右侧的浏览,你可能会有如下错误(也是我的错)
第一个错,配置节500.19
管理员身份运行cmd,输入如下命令,会出现解除锁定
%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers
%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/modules
接着,我再次浏览网站又有了新的错误
在cmd窗口输入
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
他果不其然的出错了
C:\WINDOWS\system32>c:\windows\microsoft.net\framework64\v4.0.30319\aspnet_regiis.exe -i
Microsoft (R) ASP.NET RegIIS 版本 4.0.30319.0
用于在本地计算机上安装和卸载 ASP.NET 的管理实用工具。
版权所有(C) Microsoft Corporation。保留所有权利。
开始安装 ASP.NET (4.0.30319.0)。
此操作系统版本不支持此选项。管理员应使用“打开或关闭 Windows 功能”对话框、“服务器管理器”管理工具或 dism.exe 命令行工 具安装/卸载包含 IIS8 的 ASP.NET 4.5。有关更多详细信息,请参见 http://go.microsoft.com/fwlink/?LinkID=216771。
ASP.NET (4.0.30319.0)安装完毕。
在网上看到有人说要启用windows功能里面的如下.net框架。我其实感觉问题不出在这,因为我用到不就是4.0以上版本吗?关3.5啥事,但是我还是试了,后面成功也不知道和这步有没有关系
众所周知,事情是没有这么简单的,问题依然存在,但是我找到了一篇博文,很感谢他。
利用dism工具,执行以下命令(就是在管理员身份在cmd中运行以下命令)
dism /online /enable-feature /featurename:IIS-ISAPIFilter
dism /online /enable-feature /featurename:IIS-ISAPIExtensions
dism /online /enable-feature /featurename:IIS-NetFxExtensibility45
dism /online /enable-feature /featurename:IIS-ASPNET45
在安装过程中可能遇到类似于
就先开启下错误最后给出的服务,上面报错,就先开启NetFx4Extended-ASPNET45
之后就能愉快的使用了,嘿嘿
希望我的文章可以给你带来帮助,江湖再见!