.net Core 项目开发总结
前言
公司最近开发评价系统,使用VUE+.net core组合。我负责开发后台。期间遇到诸多问题,需要住的一些坑记录,以供参考。
.net core 环境搭建与WebApi程序创建
- 关于.net core介绍,直接在网上寻找。
- .net core API程序简单举例,可以参考: https://www.cnblogs.com/LYF1997/p/11473967.html,步骤详细,教程简洁易懂。
- 在开发过程中,经常碰到添加控制器报错,提示版本错误,请修复版本。此时将项目重新生成即可。
.net core 发布和部署
- 在发布与部署API程序时,本机测试没有问题,但是在win 2008上部署之后运行报错。提示:
Error:
An assembly specified in the application dependencies manifest (WebApplication
1.deps.json) was not found:
package: ‘BouncyCastle.NetCore’, version: ‘1.8.3’
path: ‘lib/netstandard2.0/BouncyCastle.Crypto.dll’
通过网上查找资料,是因为在发布时未能完全还原引用的nuget包造成(猜测)。
解决方法,使用dotnet publish 命令发布应用。
关于dotnet 命令使用帮助,详见:https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet
最后将命令封装为批处理文件:
cd /d %~dp0
dotnet publish -c Release -r win-x64 -o ./publish/scoring --self-contained true
pause
- 部署时直接使用生成的.exe可执行文件即可。
关于mysql.data
本次开发使用Mysql数据库,在nuget中引入mysql.data包。
使用mysqlhelper封装好的MySQLHelper类
具体用法需实际使用测试。
(1)使用mscommand.ExecuteReader方法读取返回数据结果时,如果返回的数据值为空,该方法会报错,需要使用dbisnull()判断是否为空,可简化使用三元表达式。
uf.userId = (reader.IsDBNull(0)) ? null : reader.GetString(0);
总结
以上是我使用过程中遇到的一些问题,以及解决办法。网上基本都可查到。