最近可能搞个项目,计划是我做一个传输和负载均衡调度平台,然后其他人的程序可以用所有通用语言,全动态接入我的平台,这样可以实现计算能力的动态无限扩容,全动态容错,等等等等。

于是要多写一些例子,这几天玩命的用各种语言写演示。

.Net Core以前试过,当时还不稳定,现在发布到3.1 lts了,这次也可以试试看。

我看官方说明里面是没有vb语言的,没细看,结果用vb写好了才意识到可能有这个问题,但我转念一想,vs既然可以创建vb+netcore的项目,那应该就支持啊,然后稍微走了点弯路。

起初我按照传统路子,试着从windows平台发布出来一个linux的包,但不行,而且还把我电脑上的netcore环境给整废了,最终发现其实还是直接在linux编译很省事。

方法是这样,把项目文件夹传linux上,然后安装.net core sdk和runtime,进入项目目录,编译命令为:

dotnet publish -r linux-x64 --configuration release  DBServer.vbproj

其中DBServer.vbproj是vs的工程文件,然后需要用到的nuget扩展包以及所有相关文件会自动搞好的。妈的,其实就这么简单……

 

然后进入编译提示的那个目录,改一下权限:

chmod 755 ./*

接着执行文件名(一般是工程名)就行了。

 

目前只发现一点小缺憾,console.writeline出来的是utf8字符,而shell环境我也改为zh_CN.utf8了,但仍然输出中文为乱码,没招,我把输出改成英文了(让我用英语这种劣等表音语言,实在恶心)。

另外要注意的是,windows系统的api是不能用了,其他方面跟开发windows的.net控制台程序没啥区别,别用系统特有的api就是了。

就开发环境而言,vs免费版加上linux执行,再加上远超java的效率和那么多一堆一堆的nuget包,说实话我真觉得比java强太多。因为我用到的外围库很少,所以并不是很熟,如果说以前的.net库或者控件全都能用,那真的很不错了。

作者 听涛

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注