dotnet core 项目

项目

常用命令

我们使用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
posted @ 2017-06-10 17:00  S&L·chuck  阅读(487)  评论(0编辑  收藏  举报