前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用 .NET CLI 开发库

使用 .NET CLI 开发库

作者头像
用户4268038
发布2022-01-05 18:43:18
4700
发布2022-01-05 18:43:18
举报
文章被收录于专栏:stcnb

本文介绍如何使用 .NET CLI 编写 .NET 的库。 CLI 提供可跨任何支持的 OS 工作的高效低级别体验。 仍可使用 Visual Studio 生成库,如果你首选这种体验,请参阅 Visual Studio 指南。

先决条件

需要在计算机上安装 .NET SDK。

对于本文档中处理 .NET Framework 版本的部分,需要在 Windows 计算机上安装 .NET Framework。

此外,如果想要支持较旧的 .NET Framework 目标,需要从 .NET Framework 下载页安装目标包或开发人员工具包。 请参阅此表:

.NET Framework 版本

下载内容

4.6.1

.NET Framework 4.6.1 目标包

4.6

.NET Framework 4.6 目标包

4.5.2

.NET Framework 4.5.2 开发人员工具包

4.5.1

.NET Framework 4.5.1 开发人员工具包

4.5

适用于 Windows 8 的 Windows 软件开发工具包

4.0

Windows SDK for Windows 7 和 .NET Framework 4

2.0、3.0 和 3.5

.NET Framework 3.5 SP1 运行时(或 Windows 8+ 版本)

如何以 .NET 5+ 或 .NET Standard 为目标

你可以通过将项目的目标框架添加到项目文件(.csproj 或 .fsproj)来控制项目的目标框架 。 有关如何选择以 .NET 5+ 还是 .NET Standard 为目标的指导,请参阅 .NET 5+ 和 .NET Standard。

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

<PropertyGroup>

<TargetFramework>net6.0</TargetFramework>

</PropertyGroup>

</Project>

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

<PropertyGroup>

<TargetFramework>netstandard2.0</TargetFramework>

</PropertyGroup>

</Project>

如果希望面向 .NET Framework 版本 4.0 或更低版本,或者要使用 .NET Framework 中提供但 .NET Standard 中不提供的 API(例如 System.Drawing),请阅读以下部分,了解如何设定多目标。

如何面向 .NET framework

备注

这些说明假定计算机上安装有 .NET Framework。 请参阅先决条件 获取安装的依赖项。

请记住,此处使用的某些 .NET Framework 版本不再受支持。 有关不受支持的版本信息,请参阅 .NET Framework 支持生命周期策略常见问题。

如果要达到最大数量的开发人员和项目,可将 .NET Framework 4.0 用作基线目标。 若要以 .NET Framework 为目标,首先使用与要支持的 .NET Framework 版本相对应的正确目标框架名字对象 (TFM)。

.NET Framework 版本

TFM

.NET Framework 2.0

net20

.NET Framework 3.0

net30

.NET Framework 3.5

net35

.NET Framework 4.0

net40

.NET Framework 4.5

net45

.NET Framework 4.5.1

net451

.NET Framework 4.5.2

net452

.NET Framework 4.6

net46

.NET Framework 4.6.1

net461

.NET Framework 4.6.2

net462

.NET Framework 4.7

net47

.NET Framework 4.8

net48

然后将此 TFM 插入项目文件的 TargetFramework 部分。 例如,下面展示了如何编写面向 .NET Framework 4.0 的库:

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

<PropertyGroup>

<TargetFramework>net40</TargetFramework>

</PropertyGroup>

</Project>

大功告成! 虽然此库仅针对 .NET Framework 4 编译,但可在较新版本的 .NET Framework 上使用此库。

如何设定多目标

备注

以下说明假定计算机上安装有 .NET Framework。 请参阅先决条件部分,了解需要安装哪些依赖项以及在何处下载。

如果项目同时支持 .NET Framework 和 .NET,可能需要以较旧版本的 .NET Framework 为目标。 在此方案中,如果要为较新目标使用较新的 API 和语言构造,请在代码中使用 #if 指令。 可能还需要为要面向的每个平台添加不同的包和依赖项,以包含每种情况所需的不同 API。

例如,假设有一个库,它通过 HTTP 执行联网操作。 对于 .NET Standard 和 .NET Framework 版本 4.5 或更高版本,可从 System.Net.Http 命名空间使用 HttpClient 类。 但是,.NET Framework 的早期版本没有 HttpClient 类,因此可对早期版本使用 System.Net 命名空间中的 WebClient 类。

项目文件可能如下所示:

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

<PropertyGroup>

<TargetFrameworks>netstandard2.0;net40;net45</TargetFrameworks>

</PropertyGroup>

<!-- Need to conditionally bring in references for the .NET Framework 4.0 target -->

<ItemGroup Condition="'

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档