.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 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

Docker Swarm学习笔记(二)

搭建基础环境 官方文档中演示时用到了五台主机/虚拟机; ? 这里因为资源有限,只用三台; ? 创建虚拟机(可以用主机,也可以用虚拟机); 安装Ubuntu 16...

2687
来自专栏漫漫全栈路

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

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

2351
来自专栏Ryan Miao

Nginx代理proxy pass配置去除前缀

比如,访问abc.com/appv2/a/b.html, 要求转发到localhost:8088/appv2/a/b.html

522
来自专栏小狼的世界

Kubernetes命名空间

Kubernetes中提供了命名空间,但是如果你的团队规模比较小并且集群规模也不大,完全可以不用Namespaces而使用labels来区分不同的资源,随着项目...

781
来自专栏赵俊的Java专栏

使用 Docker 快速安装 HTML5-Based Speedtest,可以准确的测试本地到 VPS 的网络速度

9414
来自专栏编程坑太多

『高级篇』docker之安全认证kubernetes命令熟悉(40)

PS:基本就是测试下安全认证的k8s是否可以正常的使用,也使用了几个命令,其实我感觉,kubernetes 跟docker的命令很类似,环境搭建是大头,环境能搭...

1063
来自专栏Laoqi's Linux运维专列

安装配置kibana+logstash

1262
来自专栏散尽浮华

Centos7.2下Jumpserver V4.0环境安装部署记录

之前介绍了Jumpserver在Centos6系统下的安装部署,下面说说在Centos7.2下安装最新版的Jumpserver4.0的操作记录(使用Docker...

4537
来自专栏编程坑太多

『中级篇』 容器之间的Link(27)

PS:用户自定义的bridge 和 docker0 这个bridge他们之前的区别,docker0 如果通过名称想找到需要通过link,实际的项目中很少使用li...

581
来自专栏Java 源码分析

关于apache端口被占用

正文 无论我们在安装单个的apache还是装集成环境xampp都是有可能遇到apache意外停止。查看错误日志会发现一般都是端口被占用,一般是被虚拟机占用了,这...

3497

扫码关注云+社区