项目环境:
vs2022、.net7.0、sqlexpress10、iis express10
发布过程:
- 在vs2022中,右击项目名称,选择“发布”选项;
- 发布目标选择“文件夹”-->指定一个发布的目标文件夹;
- 在iis中新建一个站点,物理文件夹指定到刚才发布的文件夹;
- 启动网站就ok了。
发布过程遇到的问题及解决方法:
问题1:涉及到数据库的页面都显示错误内容。
原因:项目处于发布状态,隐藏了敏感信息;
解决办法:根据提示内容新建一个windows的环境变量后,就能看到错误内容了:
变量名:aspnetcore_environment
变量值:development
问题2:显示错误内容后提示无法连接到数据库
错误内容:sqlexception: a network-related or instance-specific error occurred while establishing a connection to sql server.
原因:因为项目使用的是mssqlexpress数据库,mssqlexpress数据库默认是没有打开远程访问的网络功能的;
解决办法:打开sqlservermanager10.msc,一般在c:\windows\syswow64目录下,因为我的express是10版本,所以后面是sqlservermanager10.msc,不同版本不一样。选择sql server网络配置,右击启动tcp/ip协议,右击-->属性-->ip,将tcp动态端口设置为0,tcp端口设置为1433,重启sql express服务。
问题3:microsoft.data.sqlclient.sqlexception 证书链是由不受信任的颁发机构颁发的;
解决办法:
直接在“数据库连接字符串最后面”增加证书信任的配置。;trustservercertificate=true
例如:下面配置标红部分在你的代码配置中增加或者修改
问题4:解决iis apppool\defaultapppool登录失败的问题
问题描述:用户 'iis apppool\aikang' 登录失败。在vs里面打开能正常运行,在iis里面打开就总是提示这个错误;
解决办法:这个跟iis的用户权限有关。打开iis管理器,选择应用程序池,然后右击你站点的应用程序池-->高级设置,更改“进程模型”下的标识为“localsystem”。