在Debian|在Debian 7上安装.Net Core (2016-12-18 10:26:38)
.Net Core是微软专门为跨平台运行.Net设计的一套方案,API和.Net Framework可能有一定的差别,我打算在Linux上试试。
我的服务器是Debian7的,按照官方的步骤安装发现libunwind8无法安装,在网上搜索一番找到解决方案。
主要的原因是gcc版本太低,于是问题变成了Debian上如何升级gcc。
步骤如下:
在/etc/apt/sources.list文件中加入下行
deb http://ftp.uk.debian.org/debian/ jessie main non-free contrib
保存后在控制台输入
$ sudo aptitude update
【在Debian|在Debian 7上安装.Net Core (2016-12-18 10:26:38)】$ sudo aptitude install gcc-4.8/Jessie
更新完成后按照微软官方步骤就能装好了:
sudo apt-get install curl libunwind8 gettext
curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=835021
sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet
sudo ln -s /opt/dotnet/dotnet /usr/local/bin
安装完成后实验一下。
第一步是创建一个空的.net项目:
mkdir hwapp
cd hwapp
dotnet new
dotnet new命令是创建一个新项目,项目的名称就是文件夹hwapp的名称。
再接下来是编译运行:
dotnet restore
dotnet run
dotnet restore是分析文件夹下的project.json文件,看看有没有依赖的库,或者配置变化。如果有依赖的库而本地没有的话,会调NuGet下载。(微软没再坚持使用笨重庞大的xml了,赞一下)
dotnet run是编译项目并运行。和visual studio一样,会在项目目录下生成bin/目录和程序。
默认的情况下,生成的是一个dll文件,没有exe。如果想生成exe,需要修改project.json文件。
首先要删除"dependencies"这一段中的"type": "platform"定义。(有点奇怪)
然后加入目标平台的定义:
"runtimes":{添加在"frameworks"的下面,例如:
"debian.8-x64":{}
}
"frameworks": {我选的目标系统是debian8,还有更多的系统定义可以看这个网页
"netcoreapp1.1": {
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.1.0"
}
},
"imports": "dnxcore50"
}
},
"runtimes":{
"debian.8-x64":{}
}
然后重新执行
dotnet restore
dotnet build
注意,如果只是想编译而不运行,用build命令。这样在Debug/netcoreapp1.1/文件夹里面,就会生成windows开发者熟悉的exe文件了,可以直接运行一下:
# ./hwapp
Hello World!
推荐阅读
- 你到家了吗
- Y房东的后半生14
- 闲杂“细雨”
- 杜月笙的口才
- 赢在人生六项精进二阶Day3复盘
- 祖母走了
- 陇上秋二|陇上秋二 罗敷媚
- 樱花雨
- 眼观耳听美食的日子
- MediaRecorder前后摄像头同时录像