试验环境
- win10 x64
- centos7.6
- dotnet-sdk-3.1.101-linux-x64.tar.gz
- vs2019 16.4.5
参考文章:
.netcore入门3:vs2019开发.netcore 控制台程序(编译、打包、发布)(.netcore 2.2)
.netcore入门5:linux上安装.net core sdk 3.1.101(离线安装和yum仓库安装)
.netcore入门2:深入理解.NET Core的基元: deps.json, runtimeconfig.json, dll文件
试验目的
探究aspnetcore程序的开发、部署(.netcore3.1)
一、新建web应用项目
新建后的解决方案视图如下:
Properties/launchSettings.json:
emptydemo.csproj
appsettings.json和appsettings.Development.json
Program.cs
Startup.cs
二、调试运行
2.1 首先精简launchSettings.json中关于iis的配置如下:
这样调试的选项中就没有iisexpress了
2.2 直接运行如下
三、发布应用(没有外部依赖)
3.1 项目右键,点击"发布"
3.2 选择文件夹并"创建配置文件"
3.3 这里将选项"删除现有文件"设置为true(个人习惯)
3.4 点击发布
3.5 在发布后的文件夹下执行dotnet .\emptydemo.dll
3.6 浏览器 查看效果 https://localhost:5001
3.7 那么发布的这些文件都是干嘛的,有哪些是必须的,哪些是可以删除的呢?
3.8 发布后的文件简化说明(appsettings.json如果没有配置,可以删除,一般都有用)
Linux下运行一般需要:
Windows运行(非iis)一般需要:
四、当应用引用了外部依赖时的发布情况(引用Newtonsoft.Json)
4.1 首先添加外部依赖
4.2 添加依赖后观察到工程文件的变化如下
4.3 修改Startup.cs代码如下
4.4 发布后直接运行如下
4.5 发布后的文件简化说明(appsettings.json如果没有配置,可以删除,一般都有用)
Linux运行一般需要:
Windows运行(非iis)一般需要:
五、部署到linux上(centos7.6)
5.1 将精简后的文件上传到linux的/web目录下,如图所示:
5.2 linux上运行如下图所示
注意:关闭防火墙、自行安装netcore3.1的sdk