c# 高级编程 (第15页)【NET Core运行库和NuGet包的位置】【.NET Core CLI创建console应用程序】

243 阅读1分钟

NET Core运行库和NuGet包的位置

  • 不同版本的.NET Core运行库及NuGet包,会安装在用户配置文件中
  • 这是一个用户专用的文件夹
  • 好处是,不需要为不同的项目做重复的下载
  • 可以不时地检查这个文件夹,删除不再需要的旧版本

.NET Core CLI 入口

dotnet --help
dotnet --h

.NET Core CLI创建console应用程序

dotnet new console --output HelloWorld
  • .NET Core 2.0开始,这个命令还包括了dotnet restore
  • 创建完之后会包括两个文件
    • Program.cs
    • HelloWorld.csproj
  • CLR会在程序启动的时候调用静态的Main方法
  • 这个Main方法需要放在一个类里,一般是Program类,但是其实可以是任意类
  • HelloWorld.csproj包含的内容很少,其中<TargetFramewok>这一项可以用分号分隔写多个目标框架而变成<TargetFrameworks>
<Project Sdk="Microsoft.Net.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>
</Project>
<TargetFrameworks>netcoreapp2.0;net47<TargetFrameworks>
  • 微软有两个主要的SDK:
    • Microsoft.NET.Sdk, 用于控制台应用程序
    • Microsoft.NET.Sdk.Web, 用于ASP.NET Core Web应用程序
  • 不需要向csproj中添加源文件编译时会自动添加同一目录和子目录下扩展名为cs的文件。
  • 扩展名为resx的资源文件也是自动添加的,用于嵌入资源
  • 可以更改默认行为,显式exclude/include文件
  • 也不需要添加.NET Core包。通过指定目标框架.netcoreapp2.0, Microsoft.NetCore.App,这个元包会自动包含在内