ASP.NET 5 Core与iBoxDB包管理在Linux上快速入门示例
作者:网络转载 发布时间:[ 2015/12/9 11:26:59 ] 推荐标签:测试开发技术
ASP.NET5的一项重要更新是它支持运行在.NETExecutionEnvironment上,简称DNX.而DNXCore当前能支持三个操作系统WindowsUbuntuOSX,虽然Mono在Linux上对.NET支持非常好,但DNX引入了方便的包管理还是非常值得一试。Java的jar包不内置版本号,可以随便放在一起,.NET的dll包带版本号,放到一起时很容易出现版本号冲突的提示,一般不影响使用。
在UbuntuLinux上配置DNX也非常方便,不需要到网站下载再执行的传统.NET安装方式,当然也没有现代APP商店哪么方便。具体可以看官网,这里把命令行复制过来,在Ubuntu上一行行执行可以了。
sudosh-c'echo"deb[arch=amd64]http://apt-mo.trafficmanager.net/repos/dotnet/trustymain">/etc/apt/sources.list.d/dotnetdev.list'
sudoapt-keyadv--keyserverapt-mo.trafficmanager.net--recv-keys417A0893
sudoapt-getupdate
sudoapt-getinstalldotnet
执行完这几条命令有了一个dotnet环境,这里必须再提一下mono-complete,当你在DNXCore平台上被哪些新库搞晕时,别忘记还有一个Mono。这里是DNXCore的API帮助,遇上不兼容必查,查得多的会是Assembly名称,DNXCore引入先进的包管理,但需要自己加载,对版本号。
前面的installdotnet,它只安装了一些基本运行环境,所以非常快。下面开始测试。建一个空目录dnxcore,进入,然后执行
dotnetinit
这个目录里面会有一个HelloWorld模板。传统.NET程序只有Program.cs一个文件,DNX下多了一个project.json文件,这个文件用来根据需要加载包,一般需要修改的是dependencies这段,在里面加入对iBoxDB.DNX2.6.2.16包的引用,还有FileSystem,Thread。在DNX中,像文件操作,线程类这些基本功能都在单独的包中。
1"dependencies":{
2"Microsoft.NETCore.Runtime":"1.0.1-beta-*",
3"System.IO":"4.0.11-beta-*",
4"System.Console":"4.0.0-beta-*",
5"System.Runtime":"4.0.21-beta-*",
6 "iBoxDB.DNX":"2.6.2.16",
7
8 "System.IO.FileSystem":"4.0.1-*",
9 "System.Threading.Thread":"4.0.0-*",
10"System.Threading.Tasks.Parallel":"4.0.0-*"
11 } 这时确保网络连接正常,然后执行
dotnetrestore
等待它自动在线加载,后你可能会有提示,有些基础库没有找到。这是因为Microsoft.NETCore.Runtime这个基础运行包版本一变化,它引用的包Microsoft.NETCore.Runtime.CoreCLR版本变化,而Microsoft.NETCore.Runtime.CoreCLR包引用的包的版本也会变化,现在大量包是beta版本,经常升级,在一个正式包与Beta混合的环境下不容易设置对版本,干脆不设置了,这几个System.*的包默认都会加载。与传统.NETFramework一二年发布一个新版本不同,DNXCore的包可是几星期更新一次,活跃的几天更新了,对于喜欢总是引用新版本的开发人员可能会兴奋不断。你也可以移走Microsoft.NETCore.Runtime,自己管理基本包的版本,不会有提示了。如下
"dependencies":{
"System.Collections":"4.0.10",
"System.Reflection":"4.0.10",
"System.Reflection.Extensions":"4.0.0",
"System.Runtime.Extensions":"4.0.10",
"System.Text.Encoding":"4.0.10",
"System.Globalization":"4.0.10",
"System.Threading":"4.0.10",
"System.IO":"4.0.11-beta-*",
"System.Console":"4.0.0-beta-*",
"System.Runtime":"4.0.21-beta-*",
"iBoxDB.DNX":"2.6.2.16",
"System.IO.FileSystem":"4.0.1-*",
"System.Threading.Thread":"4.0.0-*",
"System.Threading.Tasks.Parallel":"4.0.0-*",
}
dotnetrestore并不会把一堆下载文件放到刚才新建的项目文件目录内,而是位于用户Home的.dnx/packages目录下。iBoxDB.DNX包目录下有一个测试文件,执行如下命令复制到当前目录
@ubuntu:~/dnxcore$cp../.dnx/packages/iBoxDB.DNX/2.6.2.16/content/iBoxDB26.cs.
打开Program.cs复制上两行测试调用代码
publicclassProgram
{
publicstaticvoidMain(string[]args)
{
iBoxDB.LocalServer.DB.Root("/tmp/");
Console.WriteLine(iBoxDB.TestHelper.RunALL());
}
}
后执行
dotnetrun
可以看到效果了,不需要执行编译。不想一行行代码键入,可以在这里下载测试代码。dnxcore5操作与使用在Windows与Ubuntu是一样的,也是在Windows下也是敲命令行,性能哪个好,你猜?好代码当然都放在Windows版本下,这里再次提一下Mono。大部分应用都不会用尽CPU,能根据实际用户情况选择部署平台,自动加载关联包,这些都是不错的特性。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11