.NET中文官方博客
免费、 跨平台、 开源。一个用于构建所有应用程序的开发人员平台
Latest posts
5 个 .NET MAUI 功能为您构建出色的桌面应用程序
本文翻译于James Montemagno的这篇英文文章:5 .NET MAUI Features for Building Great Desktop Apps。 .NET MAUI不仅可以构建跨平台移动应用程序,它还可以为 Windows 和 Mac 制作精美的桌面应用程序。您的应用程序可能只面向桌面平台,又或许是跨移动和桌面。无论哪种方式,无论用户使用什么设备,您都希望为他们带去最佳的用户体验。为此,您需要依靠运行您的应用程序的硬件和操作系统。就桌面而言,.NET MAUI 提供了几个独特的功能来增强用户的体验,今天我将详细讲解我心目中 5个最佳功能 。 多窗口 .NET MAUI 的一个根本变化是引入了Window作为基础。当您创建、运行 .NET MAUI 应用程序时,您的应用程序会自动创建一个默认的窗口并用其显示内容。应用程序有一个新的CreateWindow方法,在创建任何新窗口时都会调用该方法。当应用程序在桌面(或平板电脑)上运行有更多可利用空间时,您可能想要创建第二个或第三个窗口而不是四处浏览。让我们以天气应用程序为例。一旦用户浏览到一个城市,我们可能希望显示更多信息,包括地图。我们可以选择导航到该页面,或使用内置 API 打开一个全新的窗口: 现在我们的用户可以拥有多个视图,而不必局限于一个窗口的信息。用户可以在任何时候关闭一个窗口,或者我们也可以用程序关闭它。 有关配置多窗口支...
.NET 7更新之网络,是你期待的吗?
最新的.NET 7现已发布,我们想介绍一下其在网络领域所做的一些有趣的更改和添加。这篇博文讨论了 .NET 7 在HTTP 空间、新 QUIC API、网络安全和WebSockets方面的变化。 HTTP 改进了对连接尝试失败的处理 在 .NET 6 之前的版本中,如果连接池中没有立即可用的连接,(处理程序上的设置允许的情况下,例如HTTP /1.1中的MaxConnectionsPerServer,或 HTTP/2中的EnableMultipleHttp2Connections)新的 HTTP 请求始终会发起新的连接尝试并等待响应。这样做的缺点是,建立该连接需要一段时间,而在这段时间里如果另一个连接已经可用,该请求仍将继续等待它生成的连接,从而影响延迟。在 .NET 6.0中我们改变了这一进程,无论是新建立的连接还是与此同时准备好处理请求的另一个连接,第一个可用的连接会处理请求。这样仍会一个新连接被建立(受限制),如果发起的请求未使用这一连接,则它会被合并以供后续请求使用。 不幸的是,.NET 6.0 中的这一功能对某些用户来说是有问题的:失败的连接尝试也会使位于请求队列顶部的请求失败,这可能会在某些情况下导致意外的请求失败。此外,如果由于某些原因(例如由于服务器行为不当或网络问题)池中有一个永远未被使用的连接,与之关联的新传入的请求也将延迟并可能超时。 在 .NET 7.0 中,我们实施...
.NET MAUI Community Toolkit中的新增功能
本文翻译于Kym Phillpotts 的这篇英文文章:What’s new in the .NET MAUI Community Toolkit。 对于 .NET MAUI Community Toolkit来说,11月是一个繁忙的时期,它发布了多个版本,其中包含大量令人惊叹的新功能。最新版本具有新的视图、布局、Tizen 支持、.NET 7 支持等等。这篇文章将让您快速了解所有新功能。 什么是 .NET Community Toolkit? 对于那些不熟悉 .NET MAUI Community Toolkit的人来说,它是一个社区创建的库,其中包含扩展、高级 UI/UX 控件、转换器和Behaviors,可帮助您更轻松地成为 .NET MAUI 开发人员。它是免费和开源的,由 .NET MAUI 开发者为 .NET MAUI 开发人员创建。 让我们深入了解最新发布的 .NET MAUI Community Toolkit中的一些重要新功能。 扩展视图 扩展视图是一个容器控件,它提供了一种在点击标题时展开和折叠可视内容的方法。 该控件由头部和内容两部分组成。 通过点击 Expander.Header 或通过设置 IsExpanded 可绑定属性来显示或隐藏内容。 DockLayout DockLayout 是一种可以将视图停靠到布局容器的两侧的布局。这使得它...
欢迎使用 C# 11
本文翻译于Mads Torgersen的这篇英文文章:Welcome to C# 11 。 我很高兴地宣布 C# 11 已经发布!与往常一样,C# 开辟了一些全新的领域,同时推进了过去版本中一直在运行的几个主题。我们的文档页面上的 C# 11 的新增功能下有许多功能和详细信息,这些内容都得到了很好的介绍。 接下来是一些亮点开胃菜——有大有小。 在我们深入探讨之前,让我先说一下我对这个版本的 C# 的诞生有多高兴!随着每个版本的发布,社区的参与度越来越高,他们贡献了从建议、见解和bug报告一直到整个功能实现的所有内容。这真的是每个人的C#。谢谢! UTF-8 字符串文字 默认情况下,C# 字符串被硬编码为 UTF-16,而互联网上流行的字符串编码是 UTF-8。 为了最大限度地减少转换的麻烦和性能开销,您现在只需将 u8 后缀附加到字符串文字即可立即将它们转换为 UTF-8: UTF-8 字符串文字简单地返回一个字节块——以 ReadOnlySpan<byte> 的形式。 对于 UTF-8 编码很重要的场景,这可能比某些专用的新 UTF-8 字符串类型更有用。 阅读有关 UTF-8 字符串文字的文档。 原始字符串文字 字符串文字中的很多内容都是某种“代码”——不仅是程序文本,还有 JSON 和 XML 数据、HTML、正则表达式、SQL 查询等。 当有许多特殊字符...
20年的 .NET ,更需要 00 后的你
.NET 20 周年, 在国内有一大批和 .NET 一起成长的开发者,有一大批在不同行业采用 .NET 作为解决方案的企业。或者你会经常听到很多的大神说他的 .NET 经历,也会听到 .NET “牛逼” 的故事,更会听到用 .NET 不用“996”的神话。但对于一个完整的技术生态,作为一名 .NET"老兵“ 应该让更多的年轻人学习 .NET , 让更多新的创意通过 .NET 创造。 为何选择 .NET .NET 是一个跨平台,跨应用场景的开源技术。年轻人可以通过 .NET 打造人生中的第一个跨平台应用,也可以通过 .NET 构建云原生的服务,更能结合人工智能,大数据,游戏以及物联网一起构建一个元宇宙的 Web 3.0 方案。您不需要不断学习不同的编程语言,不同的技术架构,通过 .NET SDK 你就可以快速完成各式各样的解决方案。 .NET 的编程语言 C# 是最灵活,最与时俱进的语言,你不需要羡慕别的编程语言的功能,因为 C# 都会第一时间跟进,更为你带来最佳的性能。如果你还沉迷在某种编程语言的语法糖,不妨用用 C#。虽然 C# 不是你接触的第一门编程语言,但 C# 可以成为你在职场路上的第一门语言。 最强的开发套件 .NET 20 年,让 .NET 开发者最自豪的除了 .NET 的跨平台,跨场景之外,就是开发工具。拥有宇宙最强的 IDE - Visual Studio ,为全场景应用保驾护航。你可以...
官宣.NET 7的发布
本文翻译于Jeremy Likness, Angelos Petropoulos 和 Jon Douglas的这篇英文文章:.NET 7 is Available Today 。 欢迎下载 .NET 7! .NET 7 为C# 11 / F# 7、.NET MAUI、ASP.NET Core/Blazor、Web API、WinForms、WPF等应用程序带来了更高的性能和新功能。使用 .NET 7,您还可以轻松地将 .NET 7 项目容器化,在 GitHub 操作中设置 CI/CD 工作流,并实现cloud-native可观察性。 感谢 .NET 开源社区为塑造此 .NET 7 版本做出的众多贡献。在整个 .NET 7 版本中,超过 8900 名贡献者做出了 28k 贡献! .NET 仍然是最快、最受喜爱和最受信任的平台之一,它拥有一个广泛的.NET 包生态系统,其中包括超过 330,000 个包。 下载和升级 您可以下载适用于 Windows、macOS 和 Linux的免费 .NET 7 版本。 如果您使用的是 .NET Core 版本,.NET 7 可以轻松升级,如果您当前维护的是 .NET Framework 版本,.NET7也提供了几个值得信服的迁移理由。 Visual Studio 2022 ...
ASP.NET Core 7 中的性能改进
本文翻译于Brennan Conroy的这篇英文文章:Performance improvements in ASP.NET Core 7。 性能是 .NET 的一个特性。在每个版本中,.NET 团队和社区贡献者都会花时间改进性能,为的是使.NET 应用程序更快并且使用更少的资源。 这篇博文重点介绍了 ASP.NET Core 7 中的一些性能改进。这是去年关于 ASP.NET Core 6 性能改进的文章的延续。当然,它继续受到 .NET 7 中的性能改进的启发。其中许多改进间接或直接地提高了 ASP.NET Core 的性能。 基准设置 我们将在这篇博文中的大部分示例中使用 BenchmarkDotNet。 首先设置基准测试项目: 有些基准测试内部类型,无法编写自包含基准。 在这些情况下,我将参考通过在存储库中运行基准获得的数字,或者我将提供一个简化的示例来展示改进的作用。 在某些情况下,我会参考我们在 https://aka.ms/aspnet/benchmarks 上公开的端到端基准。 但是我们只显示最近几个月的数据,是为了方便页面在合理的时间内加载。 通用服务器 Ampere 机器基于 ARM,具有许多内核,并且由于其较低的功耗和与 x64 机器的奇偶性而被用作云环境中的服务器。 作为 .NET 7 的一部分,我们...
官宣 .NET MAUI 支持 Xcode 14 和 iOS 16
本文翻译于David Ortinau的这篇英文文章:Announcing .NET MAUI support for Xcode 14 and iOS 16。 我们发布了对 Xcode 14 的 .NET 6 和 Visual Studio 2022 支持,以及 .NET MAUI 的第六个服务版本。 Xcode 14 引入了 Apple 最新的移动操作系统 iOS 16。 此版本中的其他 Apple SDK 与上一版本相比没有变化。 无论您使用 UIKit 还是 .NET MAUI 构建应用程序,您现在都可以利用最新的 SDK 功能。让我们仔细看看如何使用 .NET 为 iOS 构建。 入门 安装或升级到适用于 iOS 的 .NET 6 工作负载的最新 Visual Studio 2022。 具体版本如下: 在 Mac 上从 Apple Developer 网站安装 Xcode 14.0.x。 如果您从 Mac App Store 安装,它可能会自动更新到与 .NET 不兼容的版本,因此我们建议您直接控制安装。 注意 Apple 的最低要求是 macOS Monterey 12.5,它高于 Xcode 13.4。 从 Windows 上开发iOS应用 Visual Studio 2022 提供了两种在 Windows上开发 iOS应用的方法:“与 Mac 配对”和...
官宣.NET MAUI 支持 .NET 7 Release Candidate 2
本文翻译于David Ortinau的这篇英文文章:Announcing .NET MAUI support for .NET 7 Release Candidate 2。 支持 .NET 7 Release Candidate 2 的 .NET 多平台应用程序 UI (MAUI) 现在可在 Windows 和 Mac 上的 Visual Studio 17.4 Preview 4 中使用。RC2 的主要主题是质量和对带有 iOS 16 的 Xcode 14 的 .NET 支持。此版本包含在生产中使用的上线支持许可证。 在相关新闻中,还为 MSAL.NET 和 App Center(预览版)提供了新的库。这些都是 .NET MAUI 开发人员一直要求的关键库。在使用 Azure Active Directory 和 Microsoft 标识平台进行身份验证时,MSAL.NET 是必不可少。App Center 提供应用诊断和分析服务。 入门 安装或升级到 Visual Studio 2022 的最新预览版: 如果针对 iOS,您现在可以在 Windows 上直接构建到您的 iOS 设备,或者如果您使用的是 Mac(或 Mac 构建主机),则可以从 Apple Developer 网站安装 Xcode 14.0.x。 注意 Apple 对 Xcode 1...