You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将ASP.NET Core 3.1多项目发布至SmarterASP并部署数据库

发布ASP.NET Core 3.1多项目解决方案至SmarterASP及数据库部署指引

一、前期准备

  • 确认SmarterASP主机已开通,获取主机提供的FTP/SFTP凭据(主机地址、用户名、密码),以及数据库连接信息(SQL Server实例地址、数据库名、用户名、密码)。
  • 在Visual Studio 2022中,确保三个项目能本地正常编译、运行,数据库迁移可本地执行成功。
  • 仓储项目需确认迁移文件已生成完毕,且DbContext配置逻辑正确。

二、发布Web项目(主项目 + 管理面板项目)

方法1:Visual Studio发布工具

  1. 右键主项目 → 选择发布
  2. 发布目标选择FTP,点击下一步
  3. 填写FTP连接信息:
    • 服务器:SmarterASP提供的FTP主机地址(如ftp.yourdomain.com)
    • 站点路径:主项目填/wwwroot,管理面板可设为/wwwroot/admin(避免文件冲突)
    • 用户名/密码:SmarterASP提供的FTP账号密码
    • 勾选被动模式,点击验证连接确认连通性
  4. 配置发布设置:
    • 目标框架选.NET Core 3.1,部署模式选框架依赖(SmarterASP原生支持)
    • 首次发布可勾选删除目标位置的现有文件,后续更新按需选择
  5. 点击发布,等待编译上传完成。重复上述流程发布管理面板项目。

方法2:手动编译+FTP上传

  1. 打开命令行,进入主项目根目录,执行编译命令:
    dotnet publish -c Release -o ./publish
    
    项目根目录会生成publish文件夹,包含所有运行所需文件。
  2. 用FTP工具(如FileZilla)连接SmarterASP主机,将publish内所有文件上传至/wwwroot。
  3. 对管理面板项目执行同样编译命令,上传至对应路径(如/wwwroot/admin)。

三、数据库部署(基于仓储项目的EF Core迁移)

方式1:本地生成SQL脚本手动执行

  1. 在Visual Studio包管理器控制台中,选择仓储项目为默认项目,执行命令生成迁移脚本:
    Script-Migration -From 0 -To Latest -Output ./MigrationScript.sql
    
    (-From 0表示从初始状态生成到最新迁移,已有部分迁移可调整参数)
  2. 通过SmarterASP的数据库管理工具(远程SSMS或主机Web端工具),新建空白数据库后,执行生成的MigrationScript.sql脚本完成表结构创建。

方式2:远程执行EF Core迁移

  1. 修改仓储项目(或Web项目配置文件)的ConnectionString为SmarterASP提供的数据库连接字符串:
    "ConnectionStrings": {
      "DefaultConnection": "Server=YOUR_SMARTERASP_SQL_SERVER;Database=YOUR_DB_NAME;User Id=YOUR_DB_USER;Password=YOUR_DB_PASSWORD;TrustServerCertificate=True"
    }
    
  2. 命令行进入仓储项目根目录,执行迁移命令:
    dotnet ef database update --connection "Server=YOUR_SMARTERASP_SQL_SERVER;Database=YOUR_DB_NAME;User Id=YOUR_DB_USER;Password=YOUR_DB_PASSWORD;TrustServerCertificate=True"
    
    注意:若本地无法访问SmarterASP的SQL实例,优先使用方式1。

四、后续配置与验证

  1. 修改Web项目appsettings.json中的数据库连接字符串为SmarterASP的信息,重新发布或直接通过FTP修改服务器上的配置文件。
  2. 访问主项目和管理面板的域名(如https://yourdomain.com和https://yourdomain.com/admin),验证页面加载及数据库交互功能(登录、数据查询等)是否正常。
  3. 若出现500错误,查看SmarterASP主机的日志文件(通常在/wwwroot/logs或控制面板日志模块)排查问题。

内容的提问来源于stack exchange,提问作者Ravil Boyukzada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 07:25:33