.NetCore系列:1、环境搭建
⽬录:
前⾔:
2016年6⽉28⽇微软宣布发布 .NET Core 1.0、ASP.NET Core 1.0 和 Entity Framework Core 1.0。 .NET Core是微软在两年前发起的开源跨平台.NET框架项⽬,⽀持Windows、OS X和Linux平台,可⽤于开发各种类型的应⽤。此次发布包括了 .NET Core运⾏时、库和⼯具,以及 ASP.NET Core库。微软还释出了Visual Studio和Visual Studio Code扩展,允许开发者创建 .NET Core项⽬。如果要使⽤Visual Studio构建 .NET Core应⽤,开发者需要安装最新的 Visual Studio 2015 Update 32。
.NET Core ⽬前还有很多功能⽆法和传统Framework及mono⽐。⽽且在⽼项⽬的迁移,各种开源类库的⽀持上,⽬前相对匮乏。很多⼈会有疑问,微软历时2年发布的⼀个.NET Core、ASP.NET Core、Entity Framework Core 能为我们解决什么难题?我们可以是⽤它们来完成什么业务?
但是⽆论什么业务,万⾏“代码”从Hello Word起。。。。。
⼀、环境搭建
⽆论使⽤什么语⾔,编程必须要学习的第⼀件事情,环境搭建。⼈类是⾼级动物,因为⼈类会使⽤⼯具,环境搭建其实是构造⼯具的过程。⽬前官⽹上
(www.microsoft/net/core#windows)有包含Windows、Linux、Mac、Docker的环境教程,相对还是很清晰的,但是这个⽹站说的是开发环境的使⽤,运⾏环境呢?并没有详细介绍。⽽且就开发环境来说对于⽼NET⼈,⼀向是神器在⼿(Visual Studio 201×)什么开发环境都⼀键搞定。但是这个⼀键搞定在跨平台后就造成了各种的坑。
习惯上我们在安装开发环境时安装的是.NET Core SDK,安装运⾏环境时安装的是.NET Core
.NET Core SDK = Develop apps with .NET Core and the SDK+CLI (Software Development Kit/Command Line Interface) tools
.NET Core = Run apps with the .NET Core runtime
因为本⼈⽐较熟悉Linux Centos 7 所以本⼈将以Centos 7 为基础讲述。
Centos 7.1 安装开发环境
#依赖包
sudo yum install libunwind libicu
#开发环境下载的还是preview2
curl -sSL -o go.microsoft/fwlink/?LinkID=809131
#官⽹的是将⽂件安装到/opt/⽬录sudo mkdir -p /opt/dotnet && sudo tar zxf -C /opt/dotnet
sudo mkdir -p /usr/share/dotnet-dev-1.0.0 && tar zxf -C /usr/share/dotnet-dev-1.0.0
#将dotnet 执⾏程序映射到/usr/bin执⾏⽬录;
sudo ln -s /usr/share/dotnet-dev-1.0.0/dotnet /usr/bin
dotnet --help显⽰信息如下所⽰
[root@968a822651a3 hellword]# dotnet --help
.NET Command Line Tools (1.0.0-preview2-003121)
Usage: dotnet [host-options] [command] [arguments] [common-options]
Arguments:
[command] The command to execute
[arguments] Arguments to pass to the command
[host-options] Options specific to dotnet (host)
[common-options] Options common to all commands
Common options:
-v|--verbose Enable verbose output
-h|--help Show help
Host options (passed before the command):
-v|--verbose Enable verbose output
--version Display .NET CLI Version Number
-
-info Display .NET CLI Info
Common Commands:
new Initialize a basic .NET project
restore Restore dependencies specified in the .NET project
build Builds a .NET project
publish Publishes a .NET project for deployment (including the runtime)
run Compiles and immediately executes a .NET project
test Runs unit tests using the test runner specified in the project
pack Creates a NuGet package
Centos 7.1 安装运⾏环境
#依赖包
sudo yum install libunwind libicu
#运⾏环境下载
curl -sSL -o windows/dotnet/preview/Binaries/1.0.0/dotnet-centos-x64.1.0.
#官⽹的是将⽂件安装到/opt/⽬录sudo mkdir -p /opt/dotnet && sudo tar zxf -C /opt/dotnet
sudo mkdir -p /usr/share/dotnet-1.0.0 && tar zxf -C /usr/share/dotnet-1.0.0
#将dotnet 执⾏程序映射到/usr/bin执⾏⽬录;
sudo ln -s /usr/share/dotnet-1.0.0/dotnet /usr/bin
dotnet --help显⽰信息如下所⽰
[root@19b9997445b9 dotnet]# dotnet --help
Microsoft .NET Core Shared Framework Host
Version : 1.0.1
Build : cee57bf6c981237d80aa1631cfe83cb9ba329f12
Usage: dotnet [common-options] [[options] path-to-application]
Common Options:
--help Display .NET Core Shared Framework Host help.
--version Display .NET Core Shared Framework Host version.
Options:
--fx-version <version> Version of the installed Shared Framework to use to run the application.
--additionalprobingpath <path> Path containing probing policy and assemblies to probe for.
Path to Application:
The path to a .NET Core managed application, dll or exe file to execute.
If you are debugging the Shared Framework Host, set 'COREHOST_TRACE' to '1'in your environment.
To get started on developing applications for .NET Core, install .NET SDK from:
go.microsoft/fwlink/?LinkID=798306&clcid=0x409
Windows 10 安装开发环境(⾮vs2015)
(只有在win10下才能使⽤命令⾏的⽅式执⾏,在win7下提⽰⼀下错误:Failed to load the dll from [C:\Program Files\dotnet\host\fxr\1.0.1\hostfxr.dll], HRESULT: 0x80070057)
下载DotNetCore.1.0.0-SDK.Preview2-x64:
Windows 10 安装运⾏环境
下载DotNetCore.1.:
Docker 安装运⾏环境
官⽹上的Docker是以Debian 为基础镜像的,⽽我使⽤Docker为Centos为镜像,所以我必须⾃⼰编写D
ockerfile来构建我要的docker images
# VERSION 1.0
FROM maydear/centos:7 #//其实就是官⽅镜像改TAG,⾃⼰docker pull centos后修改语句
visual studio和vs code的区别MAINTAINER kelvin "kelvin@maydear"
# 更新系统源
RUN yum -y update && yum clean all
# 安装依赖包
RUN yum -y install libunwind libicu
# Install .NET Core
ENV DOTNET_VERSION 1.0.0
ENV DOTNET_DOWNLOAD_URL windows/dotnet/preview/Binaries/$
DOTNET_VERSION/dotnet-centos-x64.$DOTNET_
RUN curl -sSL -o $DOTNET_DOWNLOAD_URL
#安装dotnet core
RUN mkdir -p /usr/share/dotnet-$DOTNET_VERSION && tar zxf -C /usr/share/dotnet-$DOTNET_VERSION
#安装dotnet core 到启动命令
RUN ln -s /usr/share/dotnet-$DOTNET_VERSION/dotnet /usr/bin
RUN rm -rf
CMD [ "/bin/bash" ]
#build image:
#sudo docker build --rm -t="maydear/dotnet:1.0" .
#run container:
#sudo docker run -it --name=dotnet -d -v /xxx:/xxx --privileged=true maydear/dotnet:1.0
⼆、第⼀个.Net Core 程序
Centos 7 秒出Hello World
mkdir helloworld
cd helloworld
sudo dotnet new && dotnet restore && dotnet build
sudo dotnet run
发布dotnet Core 程序
sudo dotnet publish
拷贝⽂件到运⾏服务器,并运⾏
三、使⽤VS2015开发第⼀个Hello Word
1、安装 Update 3 (略。。)
2、安装 DotNetCore.1.0.0.RC2-VS2015Tools.Preview1插件。
3、创建项⽬
四、总结
project.json
{
"version": "1.0.0-*",/*程序版本以前写在AssemblyInfo*/
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {/*依赖关系(引⽤包)*/
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
},
"test": "1.0.2-*"/*我⾃⼰定义的NET core 类库,测试类库引⽤*/
},
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
}
}
从Hello World 上⼿习惯上唯⼀的区别就是.NET Core 的引⽤是通过nuget 引⽤包,但是nuget如果没有⽀持.NET Core的包的时候,引发如图的错误:
这个nuget的⾃动识别,期待在Nuget3.0能有更强的优化。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论