文档章节

.net core入门之HelloWorld

weidedong
 weidedong
发布于 2016/09/16 01:03
字数 935
阅读 57
收藏 0

我选择了OSX 10.11.6作为开发环境,CentOS 7.2.1511作为服务器环境, 首先先配置开发环境,打开OSX的终端,执行命令

$ openssl version #查看openssl版本
OpenSSL 0.9.8zh 14 Jan 2016

发现openssl的版本为0.98,但是.net core需要最新的openssl,执行命令

$ brew update  #更新homebrew
$ brew install openssl #安装openssl

发现openssl可被可装,可知0.98的版本为自带的,所以我们想要让homebrew管理的 openssl可使用,要在要在全局变量路径中建立软链接,执行命令

$ which openssl  #查看openssl安装路径
/user/bin/openssl

那么要删除此软链接,执行命令

$ rm -rf /usr/bin/openssl #删除openssl软链接
rm: /usr/bin/openssl: Operation not permitted

经过百度发现是从OSX 10.11的El Captain开始引入的一个系统安全功能,叫做系统完整性保护,英文是System Integrity Protection,简称SIP,所以想要删除此文件需要先禁用SIP,可以使用以下方式

  1. 关机后,开机的同时或者在听到开始音的同时,按住Command+R键
  2. 在出现 OSX Utilities后,选择Utilities下拉菜单中的终端
  3. 在打开的终端窗口中输入命令,并回车运行:

$ csrutil disable; reboot

  你的Mac机会自动重新启动后,就启动到了SIP被禁止的状态。

重新开机,执行命令

$ sudo rm -rf /usr/bin/openssl #删除openssl软链接 $ sudo ln -s /usr/local/Cellar/openssl/1.0.2h/bin/openssl /usr/bin/openssl #创建openssl软链接 $ openssl version #查看openssl版本 OpenSSL 1.0.2h 3 May 2016

由此可知,我们的openssl安装成功了,为了避免恶意软件的风险,我们再把SIP开启,
重复以上的1、2步骤,执行命令

$ csrutil enable; reboot

重启完成之后,我们进行安装.net core sdk,安装包下载链接为
https://go.microsoft.com/fwlink/?LinkID=827526
一路点击下一步,直至出现以下窗口,证明安装成功
![.net core安装成功](https://static.oschina.net/uploads/img/201609/16015048_odta.png ".net core安装成功")

执行命令 $ dotnet --version 1.0.0-preview2-003131

看输出的版本信息,证明我们的开发环境已经大功告成了。
下面来安装服务器环境吧,右键终端=>新建远程连接,如下图
![新建远程连接](https://static.oschina.net/uploads/img/201609/16021252_xP2U.png "新建远程连接")
点击连接,输入密码,就连上CentOS了
为了让我们可安装包的更丰富质量更高我们安装epel,执行命令

yum install -y epel-release

下面安装.net core,执行命令

yum install libunwind libicu #安装.net core的底层支持程序集

curl -L -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=827529 #下载文件dotnet.tar.gz

mkdir -p /opt/dotnet && tar zxf dotnet.tar.gz -C /opt/dotnet #将下载下来的包解压到/opt/dotnet目录下

ln -s /opt/dotnet/dotnet /usr/local/bin #对dotnet可执行文件创建软连接

dotnet --version #查看dotnet版本

1.0.0-preview2-003131

出现1.0.0-preview2-003131则表示配置成功了

正事下面要来了,打开OSX终端,执行命令

$ mkdir -p /work/hellodemo #创建目录/work/hellodemo $ cd /work/hellodemo #进入目录/work/hellodemo $ dotnet new #创建项目 $ dotnet restore #恢复项目中的依赖项 $ dotnet run #编译并运行项目 Hello World!

输出了Hello World,那么我们的项目算是开发完成了,下面发布到服务器吧,发到服务器用以下步骤
1.  发布到本地
执行命令

$ dotnet publish #发布项目 Publishing hellodemo for .NETCoreApp,Version=v1.0 Project hellodemo (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation. publish: Published to /work/hellodemo/bin/Debug/netcoreapp1.0/publish Published 1/1 projects successfully

2.  利用SFTP上传到LINUX服务器
使用终端连接服务器,创建hellodemo目录

mkdir /hellodemo #创建hellodemo目录

下载安装FileZilla,并连接到服务器,并上传到hellodemo目录
![上传文件到服务器](https://static.oschina.net/uploads/img/201609/16040422_iRDl.png "上传文件到服务器")

3.  使用命令运行hellodemo

cd /hellodemo #进入hellodemo目录

dotnet hellodemo.dll #执行hellodemo.dll

Hello World!

如上输出Hello World,我们算是彻底革命成功了,赶快动手试试吧!

© 著作权归作者所有

上一篇: maven入门
weidedong
粉丝 4
博文 90
码字总数 28742
作品 0
深圳
私信 提问
加载中

评论(1)

大树todd
大树todd
not bad .Less to stay up late .
超详细,手把手教你入门.NET for Linux

  【IT168 编译】基本上,当你知道了一个程序员的首选操作系统是什么的同时,你就可以猜测出他们使用的是什么编程语言。例如,如果程序员使用的是Windows,那么他们可能使用的语言列表包括...

it168网站
2017/11/27
0
0
CXF3.0.2+Spring3.2.14 Web Service入门实例二

离上次学习CXF的时间比较长了,最近一直在忙别的项目,没有时间再继续学习CXF,也就没有再写博客了!今天有点时间,再写一篇,把CXF3.0.7与spring3.2.14整合写出来。本来应该写apache-cxf-3....

jnzsf
2016/06/08
0
0
React Native 启动篇

开始学习ReactNative 简单的看了一天的javascript,javascript的代码实在看不惯,硬啃了下来。不算太熟,后面直接去看react native的示例代码了。首先从HelloWorld开始,使用的时sublime tex...

Chendj
2015/10/18
547
0
[Struts 2系列] Struts 2入门之HelloWorld

Struts 2框架的下载与安装: Struts 2下载地址: http://struts.apache.org/download.cgi 截止笔者准备开始着手写[Struts 2]系列博客时,Struts 2的最新版本为: Struts 2.3.24.1 下载Struts ...

LSantorini
2016/01/24
93
0
跟我一起学docker(14)--docker swarm的使用

1.什么是Docker Swarm? 容器集群管理工具。 通过docker swarm可以将多台机器连接在一起,通过swarm的调度可以服务的多台机器的部署,服务的伸缩。 docker-swarm的场景因为需要多台docker虚拟...

IT人故事会
2018/05/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

我最喜欢的Mybatis 3.5新特性——Optional支持

Mybatis 3.5 发布有段时间了,终于支持了 Optional ,这么实用的特性,竟然还没人安利……于是本文出现了。 文章比较简单,但非常实用,因为能大量简化恶心的判空代码。 WARNING 由于本文非常...

周立_ITMuch
7分钟前
3
0
Android 开发工具推荐

简评: 自己过去在 Android 开发中发现的好工具,在这里分享给大家。: ) Library methods count 每一个 Android App 的开发中都会用到很多的库,这个工具能够让你看到不同库的大小和,帮助你...

极光推送
8分钟前
0
0
高并发解决方案

我们通常衡量一个Web系统的吞吐率的指标是QPS(Query Per Second,每秒处理请求数),解决每秒数万次的高并发场景,这个指标非常关键。举个例子,我们假设处理一个业务请求平均响应时间为100...

孤狼悲月
14分钟前
0
0
Kubernetes 中的渐进式交付:蓝绿部署和金丝雀部署

本文首发于:Jenkins 中文社区 渐进式交付是持续交付的下一步, 它将新版本部署到用户的一个子集,并在将其滚动到全部用户之前对其正确性和性能进行评估, 如果不匹配某些关键指标,则进行回...

Jenkins中文社区
18分钟前
2
0
大数据辟谣:布洛芬用药不慎可能致死?如此标题党居心何在

相信很多人看到一则“布洛芬用药不慎可能致死”的消息后,内心开始慌乱了。 (新闻来源:微博热搜排行榜) 毕竟健康是每一个人最关注的话题,而布洛芬也是很多人止痛(发烧头痛、喉咙痛、牙痛...

forespider
23分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部