.NET Core 初探

使用VS Code从零开始开发调试.NET Core 1.0

使用VS Code 从零开始开发调试.NET Core 1.0。

.NET Core 是一个开源的、跨平台的 .NET 实现。

VS Code 全称是 Visual Studio Code,Visual Studio Code是一个轻量级的跨平台Web集成开发环境,可以运行在 Linux,Mac 和Windows下!

从零开始开发调试.NET Core 1.0,让你更好的了解.NET Core 应用程序。

本篇VS Code 开发教程是在windows做实际操作,但同样适用于其它系统。VS Code 的目的就是为了跨平台开发。

 

环境安装

本文演示开发环境: win10 x64 Visual Studio Code 1.2.1

.NET Core SDK Installer:

https://download.microsoft.com/download/A/3/8/A38489F3-9777-41DD-83F8-2CBDFAB2520C/packages/DotNetCore.1.0.0-SDK.Preview2-x64.exe

SDK 如果安装过 RC2及之前版本,请先卸载然后再安装。

更多系统版本下载:

https://www.microsoft.com/net/download

VSCode :

https://code.visualstudio.com/

VSCode C#插件:

Ctrl+P 打开Quick Open 输入: ext install csharp  选择C# 安装。


安装好插件以后重启VS Code。

重磅推荐:

自带 OmniSharp server 离线 C#插件包,基于 最新 csharp-1.2.1 插件代码封装。

下载地址: VS Code C# 插件离线版 1.6.2  点击下载 (密码:Wyww

注意事项:本插件只适用于 windows x64 系统 ,其他系统请使用ext install csharp 下载官方插件。

创建项目

首先确保 DotNetCore.1.0.0-SDK 安装成功。

dotnet --version

输出如下:

1.0.0-preview2-003121

然后就可以创建项目。

dotnet new

dotnet restore

dotnet run

整个命令执行完成。

 

使用 VS Code 开发

使用 VS Code 打开netcore文件夹。

注意

这里如果使用 ext install csharp 安装C#插件的,首次打开需要耐心等待一下。

因为需要配置 .NET Core Debugger  及下载  OmniSharp server。

之前评论区 出现  OmniSharp server is not running 就是因为 OmniSharp server 没有下载下来。

直到出现下图所示才算安装成功,二者不能缺一, 然后才能后续操作。

 

使用离线安装包,只需要看到 Successfully installed .NET Core Debugger. 即可。

 

只有成功安装,才会有智能提示,以及添加配置文件提示。

上图提示选择Yes  即可。插件会自动为我们配置好 launch.json

 

然后我们切换到调试窗口就可以进行调试

下断点成功断下。

我们也可以很方便的编写代码,插件为我们提供智能提示功能。

 

这样我们就可以跨平台开发.NET Core 1.0程序

博客示例代码GitHub: https://github.com/linezero/Blog

.NET Core 跨平台发布(dotnet publish)

.NET Core 跨平台发布(dotnet publish) ,无需安装.NET Core SDK,就可以运行。

前面讲解了.NET Core 的VSCode 开发。现在来讲讲发布(dotnet publish)。

.NET Core and ASP.NET Core 1.0 RC2 runtime and libraries 在五月中旬发布。

.NET Core and ASP.NET Core 1.0 RTM (release) runtime and libraries  六月底发布。

https://blogs.msdn.microsoft.com/dotnet/2016/05/06/net-core-rc2-improvements-schedule-and-roadmap/

跨平台发布

简单新建一个项目。


mkdir dotnethello

cd dotnethello

dotnet new
dotnet new 之后 修改project.json 如下:
{
  "version": "1.0.0-*",
  "buildOptions": {
    "emitEntryPoint": true
  },
  "dependencies": {
    "Microsoft.NETCore.App": {
      "type": "platform", //去掉
      "version": "1.0.0-rc2-*"
    }
  },
  "frameworks": {
    "netcoreapp1.0": {
      "imports": "dnxcore50"
    }
  },
  "runtimes":{//加入runtime
    "win7-x64": { },
    "win7-x86": { },
    "osx.10.10-x64": { },
    "osx.10.11-x64": { },
    "ubuntu.14.04-x64":{ }
  }
}
添加NuGet.Config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <clear />
    <add key="AspNetCI" value="https://www.myget.org/F/aspnetcirelease/api/v3/index.json" />
    <add key="NuGet.org" value="https://api.nuget.org/v3/index.json" />
  </packageSources>
</configuration>

dotnet restore

还原以后就可以编译发布了。

 

Windows:

这里默认输入 dotnet publish 会发布 win7-x64 。

我们定位到 win7-x64\publish 文件夹,可以直接执行 dotnethello.exe ,无需安装.netcore sdk 。

 

Ubuntu:

我们要发布到linux ubuntu 直接指定 runtime 。

dotnet publish -r ubuntu.14.04-x64

把发布文件夹(ubuntu.14.04-x64/publish)拷贝到ubuntu上。

直接就可以执行,不需要安装.netcore sdk,只需.netcore依赖的几个包:

https://github.com/dotnet/cli/blob/rel/1.0.0/Documentation/cli-prerequisites.md 

Ubuntu distributions require the following libraries installed:

  • libunwind8
  • libunwind8-dev
  • gettext
  • libicu-dev
  • liblttng-ust-dev
  • libcurl4-openssl-dev
  • libssl-dev
  • uuid-dev
  • unzip

 

设置文件夹下的执行文件dotnethello 设置好权限以后直接 ./dotnethello

 

Mac OS:

同理mac os 一样,指定osx runtime。

dotnet publish -r osx.10.10-x64

将 osx.10.10-x64/publish 拷贝到mac os 。

OS X 需要安装libssl

OS X requires the following libraries and versions installed:

  • libssl 1.1

执行dotnethello

这样我们无需安装.NET Core SDK 就可以运行.NET Core 应用程序。实现了.NET Core 跨平台。



.NET Core dotnet 命令大全

dotnet 命令大全,让你理解dotnet 命令。

本文将以一个实例串起 dotnet 所有命令,让你玩转dotnet 命令。

本篇文章编写环境为windows 10 ,dotnet 命令同样适用于其它系统。

配合 VS Code 你就可以在 Linux 、MAC 上开发.NET Core。

下面是dotnet 命令目录:

dotnet-new

dotnet-restore

dotnet-run

dotnet-build

dotnet-test

dotnet-pack

dotnet-publish

 

现在来详细讲解。

创建(dotnet new)

首先我们创建一个项目 ,这里我们创建控制台程序。

dotnet new

 

dotnet 更多命令请参考帮助。

 

还原(dotnet restore 及 dotnet pack)

我们在创建一个 class lib  也就是类库。

dotnet new -t lib

创建好以后,编写一些自己的代码然后进行打包。

 

我编写了两个方法,现在来打包。

dotnet restore

dotnet pack

.NET Core 怎样添加离线引用包呢?现在答案就揭晓了。

打包好以后,我们将applib 添加到 app的 project.json 。

添加好以后切到app 目录,然后进行还原。

还原使用的命令是:dotnet restore -f E:\dotnet\applib\bin\Debug\

dotnet restore -f 包的路径

这样我们就能直接在项目里调用applib 里面的方法。

我们在代码里编写对应的调用,然后执行程序。可以看到正确输出class lib 的结果。

 

运行(dotnet build 及 dotnet run)

以app 为例:

dotnet build 编译代码

 

dotnet run 执行程序

 

dotnet xx.dll 也是执行程序

 

测试(dotnet test)

这里我们要新建一个文件夹及项目了。

新建测试项目: dotnet new -t xunittest 

 

新建好项目我们可以在里面添加测试方法,这里我直接运行测试。

dotnet restore

dotnet test

 

发布(dotnet publish)

重点来了,发布项目使其可以跨平台运行。

dotnet publish 默认发布

发布后定位到publish目录使用 dotnet xx.dll 执行应用。

 

下面来跨平台发布。

可以参考我之前的文章:http://www.cnblogs.com/linezero/p/5475246.html

在 project.json 加入 runtimes 节点 注释掉 "type": "platform"

首先我们要dotnet restore

这里我还原的时候有些久,大家耐心等待一下。

dotnet publish -r win10-x64

这里发布后,可以直接定位到发布publish目录,执行 app.exe 即可。 

dotnet publish -r ubuntu.14.04-x64

将publish 文件夹上传至linux系统 ,设置app的权限为可执行,然后 ./app 就可以运行了。

dotnet publish -r 指定runtimes节点里系统ID

 

dotnet 至此就都讲解了,不知道大家是否理解。本文皆旨在做一个指点,更多的功能需要大家自己去发现。


原文地址:http://www.cnblogs.com/linezero/p/VSCodeNETCore.html

http://www.cnblogs.com/linezero/p/dotnet.html

http://www.cnblogs.com/linezero/p/VSCodeASPNETCore.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值