网站建设实训报告心得,网络推广外包注意哪些,北京网站建设 标准型 新翼,宁波企业网站制作记录平日中琐碎的.net 知识点。不定期更新 目标框架名称(TFM)
我们创建C#应用程序时#xff0c;在项目的工程文件(*.csproj)中都有targetFramework标签#xff0c;以表示项目使用的目标框架 各种版本的TFM
.NET Framework .NET Standard .NET5 及更高版本 UMP等 参考文档在项目的工程文件(*.csproj)中都有targetFramework标签以表示项目使用的目标框架 各种版本的TFM
.NET Framework .NET Standard .NET5 及更高版本 UMP等 参考文档针对 NuGet 的目标框架参考 | Microsoft Learn 如何创建多TFM的项目
首次创建项目时建议创建 .NET Standard 类库因为它提供了与最广泛使用项目的兼容性。 使用 .NET Standard 可以默认向 .NET 库添加跨平台支持。 但是在某些情况下可能还需要包含针对特定框架的代码。 本文介绍如何针对SDK样式的项目执行该操作。
对于 SDK 样式的项目可以在项目文件中配置对多个目标框架TFM的支持然后使用dotnet pack 或 msbuild /t:pack 创建包。 请注意.NET 和 .NET Standard 目标是为 .NET 库添加跨平台支持的最佳方式。
.NET Standard是一套 .NET API 规范在所有 .NET 实现中推出。 以 .NET Standard 为目标可以生成受限于使用给定版本的 .NET Standard 中的 API 的库这意味着实现该版本的 .NET Standard 的所有平台都可以使用它。.NET 6-8 是 .NET 的实现。 每个版本是具有一组统一功能和 API 的单一产品可用于 Windows 桌面应用和跨平台控制台应用、云服务和网站。
步骤 在 Visual Studio 中或使用 dotnet new classlib 创建新的 .NET Standard 类库。 建议创建 .NET Standard 类库以获得最佳兼容性。 编辑 .csproj 文件以支持目标框架。 例如更改 TargetFrameworknetstandard2.0/TargetFramework 更改为 TargetFrameworksnetstandard2.0;net45/TargetFrameworks 确保将 XML 元素从单数更改为复数将“s”添加到开始和结束标记。 如果你有任何仅在一个 TFM 中工作的代码则可以使用 #if NET45 或 #if NETSTANDARD2_0 分隔与 TFM 相关的代码。 有关详细信息请参阅如何设定多目标。例如可以使用以下代码
public string Platform {get {
#if NET45return .NET Framework
#elif NETSTANDARD2_0return .NET Standard
#else
#error This code block does not match csproj TargetFrameworks list
#endif}
} 参考文章项目文件中 NuGet 包的多目标 | Microsoft Learn
NuGet packages.config 文件参考 | Microsoft Learn