sdk测试模块(sdk测试demo) 科技前沿 • 2025-04-29 10:13 • 阅读 38 sdk测试模块(sdk测试demo)p 新式 NET 项目与项目软件开发工具包 SDK 关联 每个 em 项目 SDK em 都是一组 MSBuild 目标和相关的任务 它们负责编译 打包和发布代码 引用项目 SDK 的项目有时称为 SDK 样式的项目 em em p 有以下 SDK 大家好,我是讯享网,很高兴认识大家。 </nav><p>新式 .NET 项目与项目软件开发工具包 (SDK) 关联。 每个<em>项目 SDK</em> 都是一组 MSBuild 目标和相关的任务,它们负责编译、打包和发布代码。 引用项目 SDK 的项目有时称为“SDK 样式的项目”。<em></em></p> 讯享网 有以下 SDK 可用: ID 描述 存储库 .NET SDK https://github.com/dotnet/sdk .NET Web SDK https://github.com/dotnet/sdk .NET Razor SDK https://github.com/dotnet/aspnetcore The .NET Blazor WebAssembly SDK https://github.com/dotnet/aspnetcore .NET 辅助角色服务 SDK .NET Aspire SDK https://github.com/dotnet/aspire MSTest SDK https://github.com/microsoft/testfx .NET SDK 是 .NET 的基本 SDK。 其他 SDK 引用 .NET SDK,与其他 SDK 关联的项目具有所有可用的 .NET SDK 属性。 例如,Web SDK 依赖于 .NET SDK 和 Razor SDK。 你还可以创建自己的 SDK,并通过 NuGet 进行分发。 对于 Windows 窗体和 Windows Presentation Foundation (WPF) 项目,请指定 .NET SDK (),并在项目文件中设置一些其他属性。 有关详细信息,请参阅启用 .NET Desktop SDK。 .NET 项目基于 MSBuild 格式。 具有扩展名(如用于 C# 项目的 .csproj 和用于 F# 项目的 .fsproj)的项目文件都是 XML 格式的 。 MSBuild 项目文件的根元素是 Project 元素。 元素有一个可选的 属性,该属性指定要使用的 SDK(和版本)。 若要使用 .NET 工具并构建你的代码,请将 属性设置为可用 SDK 表中的其中一个 ID。 讯享网 从 .NET Aspire 9 开始,前面的示例可以改为使用 .NET Aspire SDK。 有关详细信息,请参阅 .NET Aspire 工具和设置。 若要指定来自 NuGet 的 SDK,请在名称末尾包含版本,或者在 global.json 文件中指定名称和版本。 讯享网 另一种指定 SDK 的方法是使用顶层 元素: 以这些方式之一引用 SDK 可以极大地简化 .NET 的项目文件。 在评估项目时,MSBuild 在项目文件的顶部和底部分别为 和 添加隐式导入。 讯享网 讯享网 使用 命令,可以看到 MSBuild 在包含 SDK 及其目标之后所显示的完全扩展的项目。 命令的预处理开关显示导入的文件、文件源及其在生成中的参与情况,而无需实际生成项目。 如果项目有多个目标框架,请将命令的结果指定为 MSBuild 属性,使其仅侧重于框架之一。 例如: SDK 中定义了 项、嵌入的资源和 项默认包含和排除的内容。 与非 SDK .NET 框架项目不同,你无需在项目文件中指定这些项,因为默认设置涵盖了最常见的用例。 此行为使得项目文件更小、更易于理解和手动编辑(如需要)。 下表显示在 .NET SDK 中包含和排除的元素和 glob: 元素 包含 glob 排除 glob 删除 glob Compile /*.cs(或其他语言扩展名) /*.user; /*.*proj; /*.sln; /*.vssscc 空值 EmbeddedResource /*.resx /*.user; /*.*proj; /*.sln; /*.vssscc 空值 None /* /*.user; /*.*proj; /*.sln; /*.vssscc /*.cs; /*.resx 对于 WPF,.NET Desktop SDK 有更多包含和排除项。 有关详细信息,请参阅 WPF 默认包含和排除的内容。 如果在项目文件中显式定义这些项中的任何项,可能会出现 NETSDK1022 生成错误。 有关如何解决此错误的信息,请参阅 NETSDK1022:包含重复项。 从 .NET 6 开始,隐式 指令将添加到新的 C# 项目中。 这意味着可以使用这些命名空间中定义的类型,而无需指定完全限定的名称或手动添加 指令。 隐式方面是指向项目的 obj 目录中生成的文件添加 指令这一事实。 为使用以下 SDK 之一的项目添加隐式 指令: 为基于项目 SDK 的一组默认命名空间中的每个命名空间添加 指令。 下表显示了这些默认命名空间。 SDK 中 IsInRole 中的声明 默认命名空间 Microsoft.NET.Sdk Microsoft.NET.Sdk.Web Microsoft.NET.Sdk 命名空间 Microsoft.NET.Sdk.Worker Microsoft.NET.Sdk 命名空间 Microsoft.NET.Sdk.WindowsDesktop(Windows 窗体) Microsoft.NET.Sdk 命名空间 Microsoft.NET.Sdk.WindowsDesktop (WPF) Microsoft.NET.Sdk 命名空间 已删除 已删除 若要禁用此功能,或要在现有的 C# 项目中启用隐式 指令,可通过 MSBuild 属性实现。 可以通过向项目文件添加 项(或针对 Visual Basic 项目添加 项)来指定其他隐式 指令,例如: 如果你的项目以 .NET Standard 1.0-2.0 为目标,则 .NET SDK 会添加对某些元包的隐式引用。 元包是一种基于框架的包,其中只包含对其他包的依赖项。 元包根据项目文件的 TargetFramework 或 TargetFrameworks(复数)属性中指定的目标框架被隐式引用。 讯享网 如果需要,可以使用 DisableImplicitFrameworkReferences 属性来禁用隐式包引用,并只添加对所需的框架或包的显式引用。 建议: 如果以 .NET Framework 或 .NET Standard 1.0-2.0 为目标,不要通过项目文件中的 项添加对 元包的显式引用。 对于 .NET Standard 1.0-2.0 项目,这些元包被隐式引用。 对于 .NET Framework 项目,如果在使用基于 .NET Standard 的 NuGet 包时需要任何版本的 ,则 NuGet 会自动安装相应版本。 如果在以 .NET Standard 1.0-2.0 为目标时需要特定版本的 元包,则可以使用 属性,并设置所需的版本。 在 SDK 样式的项目中,请使用名为 或 的 MSBuild 目标,并设置 的 属性或 的 属性。 讯享网 可以通过多种方式自定义生成。 建议通过将属性作为参数传递给 msbuild 或 dotnet 命令来重写该属性。 还可以将属性添加到项目文件或 Directory.Build.props 文件中。 有关 .NET 项目的有用属性列表,请参阅 .NET SDK 项目的 MSBuild 参考。 .NET 项目可以打包自定义的 MSBuild 目标和属性,以供使用该包的项目使用。 如果要执行以下操作,请使用此类型的可扩展性: 扩展生成过程。 访问生成过程的工件,如生成的文件。 检查调用生成的配置。 通过在项目的生成文件夹中以 或 (例如 )的形式放置文件,可以添加自定义生成目标或属性。 以下 XML 是 .csproj 文件中的一个片段,该文件指示 命令打包的内容。 元素将目标文件放入包内的生成文件夹中。 元素将程序集和 .json 文件放入生成文件夹 。 若要在项目中使用自定义目标,请添加指向包及其版本的 元素。 与工具不同,自定义目标包包含在消费项目的依赖项闭包中。 你可以配置自定义目标的使用方式。 由于它是 MSBuild 目标,因此会依赖于给定的目标并在另一个目标后运行,也可使用 命令手动调用。 若要提供更好的用户体验,可以合并基于项目的工具和自定义目标。 在此方案中,每个项目工具接受所需的任何参数,并将其转换为执行目标所需的 调用。 有关此类协同作用的示例,请访问 项目中的 2016 年编程马拉松 MVP 峰会示例存储库。 自定义你的生成过程 (MSBuild) 如何使用 MSBuild 项目 SDK 使用 NuGet 打包自定义 MSBuild 目标和属性 小讯 2025年flj是啥意思(fl zj是什么意思) 上一篇 2025-05-27 15:55 2025年安卓软件后缀名怎么改(安卓软件后缀名怎么改成英文) 下一篇 2025-06-09 15:12 相关推荐 2025年flj是啥意思(fl zj是什么意思) 1744588800 Linux驱动开发和应用开发那个工资高(linux驱动开发难吗) 1744588800 修改resnet卷积核(chebynet卷积核) 1744588800 2025年苹果开发者账号可以退款吗(苹果开发者账号违法吗) 1744588800 2025年来自远方那些作品好看(来自远方好看的作品) 1744588800 gjk算法知乎(gfk算法) 1744588800 2025年centernet训练自己的数据集(resnet训练自己的数据集) 1744588800 2025年Tp9978芯片参数(Tp9978芯片参数) 1744588800 python函数的定义和作用(python函数的意义) 1744588800 2025年安卓软件后缀名怎么改(安卓软件后缀名怎么改成英文) 1744588800 2025年日志管理工具(日志管理工具有哪些) 1744588800 2025年苹果开发者账号 企业账号(苹果开发者账号 企业账号怎么设置) 1744588800 git pull和git merge区别(git pull和git rebase) 1744588800 打印机共享失效(打印机共享无法使用) 1744588800 2025年oracle 端口(Oracle 端口号实例) 1744588800 java mock 静态方法(mock静态方法抛出异常) 1744588800 2025年druid监控页面打不开(druid 监控页面) 1744588800 jflash擦除芯片失败(擦除flash和擦除bootloader) 1744588800 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。如需转载请保留出处:https://51itzy.com/kjqy/161947.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/161947.html