.NET Core 实战笔记2-从命令开始

上一篇简要介绍了 .NET Core平台,本篇对dotnet命令进行讲解。

.NET Core作为跨平台产品,不再只依赖于Windows的图形化界面系统,因而推出的dotnet命令 成为了开发 .NET Core应用程序的一个新的跨平台工具链的基础。因此,掌握dotnet命令之后,就可以在任何支持平台上使用同样的命令进行开发管理。

dotnet命令——从实际项目入手

dotnet的命令有很多,没有必要一一列举出来,对于开发人员来说,最好的记忆方式就是实践。

创建(dotnet new)

dotnet new 顾名思义,就是新建一个dotNet Core项目,dotnet core有很多类型的项目,因此,需要同时给new指令添加属性来新建制定模板的项目。如下图,使用dotnet new -h列出了dot net core中的项目模板及其简写。

我们先来创建一个简单的控制台应用程序,也就是console

还原(dotnet restore和dotnet pack)

再来创建一个class lib也就是类库,让前面创建的控制台程序来调用这个类库。

dotnet new classlib

现在为创建好的CLB的默认类Class1.cs添加两个方法,然后打包。

using System;
namespace app_clb
{
    public class Class1
    {
        public void Printout()
        {
            System.Console.WriteLine("Class Lib Print!");
        }
        public string GetStr()
        {
            return "return lib";
        }
    }  
}

打包需要两条指令:

  • dotnet restore
  • dotnet pack

完成打包后,将applib添加到console_appapp.csproj中。

app.csproj中添加如下内容:

添加后之前切换到console_app目录,执行指令,将CLB包含到项目中。

dotnet restore -s C:\dotnet\app_clb\bin\Debug\

dotnet restore -s + 包的路径

然后就能直接在项目中调用app_clb中的的方法。

using System;
using app_clb;
namespace console_app1
{
    class Program
    {
        static void Main(string[] args)
        {
            Class1 obj =new Class1();
            obj.Printout();
            System.Console.WriteLine(obj.GetStr());
            System.Console.WriteLine("Hello World!");
        }
    }
}

运行(dotnet build和dotnet run)

dotnet build 即编译当前目录下的代码文件为可执行程序

dotnet run则是允许已经编译好的可执行程序

同时,dotnet app.dll也是执行程序。

测试(dotnet test)

新建一个文件夹及项目

dotnet new xunit

新建好后直接添加测试方法,运行测试,这里直接运行测试

dotnet restore

dotnet test

发布(dotnet publish)

dotnet core是跨平台的开发平台,所以发布的软件当然是具有跨平台运行的能力的。

先添加节点,打开console_app1.csprojPropertyGroup节点中加入:

<RuntimeIdentifiers>win10-x64;ubuntu.14.04-x64</RuntimeIdentifiers>

还原项目dotnet restore,然后发布

dotnet publish默认发布

dotnet publish -r win10-x64 发布配置信息中添加好的win10-x64

dotnet publish -r ubuntu.14.01-x64 发布配置信息中添加好的ubuntu

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏吴伟祥

maven-assembly-plugin插件的使用方法

摘自官网:http://maven.apache.org/plugins/maven-assembly-plugin/

521
来自专栏博客园

宿主

    ASP.NET Core应用程序需要在宿主中执行.宿主必须实现IWebHost接口,这个接口暴露了功能和服务的集合,以及Start方法。宿主通常使用We...

1233
来自专栏北京马哥教育

20步打造最安全的Nginx Web服务器(下)

八、控制缓冲区溢出攻击 编辑nginx.conf,为所有客户端设置缓冲区的大小限制。 vi /usr/local/nginx/conf/nginx.conf ...

40012
来自专栏大内老A

.NET Core多平台开发体验[2]: Mac OS X

除了微软自家的Windows平台, .NET Core针对Mac OS以及各种Linux(RHEL、Ubuntu、Debian、Fedora、CentOS和SU...

3004
来自专栏BeJavaGod

开发机配置选型?

对于现在的分布式开发, 一套机子要跑多个服务,开多个虚拟机,数据库,redis集群,solr集群,内存占用率动不动上10g,以最低适用的机子配置给开发员,应该可...

2754
来自专栏LIN_ZONE

thinkphp5中使用phpmailer实现发送邮件功能(转载)

一、开启SMTP服务(使用php发送邮件需要用到SMTP服务,这里以163邮箱的SMTP服务为例)。

551
来自专栏大数据学习笔记

Spark2.x学习笔记:4、Spark程序架构与运行模式

4、 Spark程序架构与运行模式 4.1 Spark程序最简架构 所有的Spark程序运行时,主要由两大类组件Driver和Excutor构成。 每个Spar...

2389
来自专栏零基础使用Django2.0.1打造在线教育网站

零基础使用Django2.0.1打造在线教育网站(九):初识后台管理

努力与运动兼备~~~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步!

1423
来自专栏云计算教程系列

如何在Ubuntu 14.04上安装Solr 5.2.1

Solr是一个基于Apache Lucene的搜索引擎平台。它是用Java编写的,并使用Lucene库来实现索引。可以使用各种REST API访问它,包括XML...

1216
来自专栏文渊之博

数据库复制(一)--复制介绍

介绍: 在运行着的数据库驱动的应用程序中,SQL复制能解决许多问题。由于发送/订阅的模式不是十分容易理解,复杂的脚本语言和监视复制系统也是需要一定的思想在里面。...

1716

扫码关注云+社区