项目

常用命令

我们使用dotnet core 命令行来创建项目及进行编译,发布等,比较常用的dotnet core 命令 如下:

  1. dotnet new [arguments] [options] 创建一个新项目
  2. dotnet restore 还原项目的依赖包
  3. dotnet build 编译项目
  4. dotnet publish 打包项目
  5. dotnet run 编译以及执行项目

其他命令可以在控制台输入 dotnet [arguments] --help 进行查看

创建项目

接下来创建一个控制台程序,进行相应的说明,我们将创建的目录放置在D:\workspace 下,在该目录下打开控制台,

创建一个名称为demo的控制台项目

    D:\workspace>dotnet new console -n demo

    Content generation time: 145.5073 ms
The template "Console Application" created successfully.

当创建成功后,进入demo目录中,还原依赖包

    D:\workspace>cd ./demo

    D:\workspace\demo>dotnet restore

    Restoring packages for D:\workspace\demo\demo.csproj...
Generating MSBuild file D:\workspace\demo\obj\demo.csproj.nuget.g.props.
Generating MSBuild file D:\workspace\demo\obj\demo.csproj.nuget.g.targets.
Writing lock file to disk. Path: D:\workspace\demo\obj\project.assets.json
Restore completed in 2.81 sec for D:\workspace\demo\demo.csproj. NuGet Config files used:
C:\Users\chuckchwang.TENCENT\AppData\Roaming\NuGet\NuGet.Config Feeds used:
https://api.nuget.org/v3/index.json

还原依赖包ok后,直接使用dotnet run命令来运行该控制台

    D:\workspace\demo>dotnet run
Hello World!

可以看到输入 Hello World!

包引入

绝大多数情况下,应用程序中需要引入第三方发布的包来进行开发,dotnet core使用NuGet来进行包依赖管理,接下来演示一下如何引入entityframeworkcore包。dotnet core使用csproj文件作为配置管理文件,我们先看一下未安装其他依赖包时的文件。

可以看到里面只有一些基本的信息,平台,sdk,输出类型等。

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp1.1</TargetFramework>
</PropertyGroup> </Project>

接下来我们引入entityframeworkcore包,我们采用vscode的nuget扩展来安装对应依赖。

首先,使用vscode打开demo项目,输入命令 ctrl+shift+p 打开命令行窗口,

然后,输入nuget 找到 NuGet Package Manager:Add Package 确认,

最后,在查询窗口中输入entityframework,找到entityframeworkcore包进行安装。

安装完成后,我们再看一下配置管理文件中的变化

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp1.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.0.0-preview1-final"/>
</ItemGroup>
</Project>

我们可以看到文件中多了一个ItemGroup节,其中PackageReference引入了Microsoft.EntityFrameworkCore包。

最后我们使用dotnet restore 命令还原包依赖。

通过以上的步骤我们可以了解到,安装包依赖实际上只需要在csproj文件的ItemGroup节点下写入一个PackageReference依赖即可。

项目引入

多数情况下我们的项目会进行分层处理,比如常见的三层结构,数据层,业务层以及展示层,这时候我们就需要用到将这些层次单独作为项目进行引入。接下来会演示我们会创建一个Business业务层项目,并将其映入demo项目中。

首先我们创建一个business 库项目,使用如下命令并还原对应项目

    dotnet new lib -n business
dotnet restore

business项目中创建一个test类,代码如下

    public class test
{
public void say()
{
Console.WriteLine("I am a business layer");
}
}

通过包引入,我们了解到,引入第三方项目或者包在csproj文件中ItemGroup进行维护即可,我们使用ProjectReference 配置引入项目,修改后的ItemGroup节如下,然后使用dotnet restore命令进行还原

  <ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.0.0-preview1-final"/>
<ProjectReference Include="..\business\business.csproj"/>
</ItemGroup>

接下来我们修改Program.cs中内容,引入business类库

    static void Main(string[] args)
{
Console.WriteLine("Hello World!"); new business.test().say();
}

然后使用命令 dotnet run , 可以看到 test正确执行了。

D:\workspace\demo>dotnet run
Hello World!
I am a business layer

dotnet core 项目的更多相关文章

  1. 解决VS2015无法调试dotnet core项目

    dotnet core 1.0正式版和VS2015 update3安装后一直无法在VS中正常调试. 错误提示:The debugger's worker process (msvsmon.exe) u ...

  2. Docker 简单发布dotnet core项目 图文版

    原文:https://www.cnblogs.com/chuankang/p/9474591.html docker发布dotnet core简单流程 需要结合这个版本看哈 地址:https://ww ...

  3. Docker 简单发布dotnet core项目 文本版

    原文:https://www.cnblogs.com/chuankang/p/9474591.html docker发布dotnet core简单流程 照着步骤来基本没错 但是有几个要注意的地方: v ...

  4. dotnet core 项目脚手架这种小事嘛...

    dotnet core脚手架批处理.bat @echo 请修改批处理文件名后,如:Example.Core ,注释掉goto end,再执行脚本 pause goto end ::goto end s ...

  5. dotnet core项目升级到 .net core 2.0

    这几天无疑我们已经让.net core 2.0正式版发布的消息刷屏,这次发布整整提前了一个月的时间,关于具体的发布信息,可以去看善友大神的博客,.NET Core 2.0 正式发布信息汇总,废话不多说 ...

  6. VS2017 IDE中发布自包含(SCD)DotNET Core项目

    根据Stack Overflow上的一个回答得知,这项功能目前VS2017并不具备,但你可以通过如下方法发布自包含项目: 1.项目文件(.csproj)中添加RuntimeIdentifier配置项, ...

  7. 在Linux上部署DotNet Core项目的时候发现Apache无法转发Kestrel的5000端口的问题

    CentOS服务器上使用Apache托管Dotnet Core2,服务启动了,端口也打开了.在本地使用curl命令可以访问5000端口的网页内容,但是访问Apache的端口却无法获取到网页的内容.想起 ...

  8. dotnet core 使用 MongoDB 进行高性能Nosql数据库操作

    好久没有写过Blog, 每天看着开源的Java社区流口水, 心里满不是滋味. 终于等到了今年六月份 dotnet core 的正式发布, 看着dotnet 社区也一步一步走向繁荣, 一片蒸蒸日上的大好 ...

  9. DotNet Core 之旅(一)

    1.下载安装 DotNetCore.1.0.0-SDK.Preview2-x64.exe 下载链接:https://www.microsoft.com/net/download ps:如果有vs201 ...

随机推荐

  1. vue-cli项目接口地址可配置化(多环境部署)一处修改多处适用

    本文档目的在于帮助对vue了解比较少的同学,能够快速配置vue应用中的接口地址.方便项目切换服务环境后,重新修改多组件的http请求地址. 一.前言 我们在上一篇文章分享了vue-cli项目基本搭建( ...

  2. traceroute工具

    traceroute是类Unix的命令工具,用于测试到网络上某台主机host的跳数以及延时情况.其运行原理是,通过发送指定TTL的UDP包给目的主机host,通过将TTL逐渐增大,就能收到一些ICMP ...

  3. react-webpack-express

    这是一个整合react express 实现前后台交互,并且采用webpack进行打包和解析文件.其实react官方有一个脚手架create react app,也可以看那个,但是这个脚手架webpa ...

  4. C++11新特性之 std::forward(完美转发)

    我们也要时刻清醒,有时候右值会转为左值,左值会转为右值. (也许“转换”二字用的不是很准确) 如果我们要避免这种转换呢? 我们需要一种方法能按照参数原来的类型转发到另一个函数中,这才完美,我们称之为完 ...

  5. python nmap模块 端口探测

    今天添加端口探测功能,主要实现方式是通过nmap模块调用,扫描1-65535端口.上一篇中已经将UP的PC机全部获取到,这里直接从已知在线的PC中进行端口扫描就可以了,会节省很多时间. 代码如下,还是 ...

  6. 使用ToDateTime方法转换日期显示格式

    实现效果: 知识运用: Convert类的ToDateTime方法:(将字符串转化为DateTime对象) public static DateTime ToDateTime(string value ...

  7. 2018.11.13 Hibernate 中数据库查询中的Criteria查询实例

    Criteria是面向对象的无语句查询 Demo.java package com.legend.b_criteria; import java.util.List; import org.hiber ...

  8. MySQL优化 ----开篇

    今天,数据库的操作越来越成为整个应用的性能瓶颈,Mysql优化则是一个经常要谈的问题了. 谈起MySQL优化,咱们先简单谈一下Mysql: Mysql是最流行的关系型数据库管理系统,在WEB应用方面M ...

  9. 【Linux-CentOS】【转-更正】使用CentOS DVD1 和DVD2做本地yum源

    原文在此.此文写的非常好,怕网络丢失,特转来,并做了更正. CentOS6以上版本一般都会提供一个DVD1和一个DVD2镜像,使用DVD1即可安装使用CentOS了,DVD2中存放了一些额外的软件包, ...

  10. iptables防火墙常用命令参数

    iptable添加一条规则开放22端口 iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -p tcp --sport ...