.NET中文官方博客

免费、 跨平台、 开源。一个用于构建所有应用程序的开发人员平台

Latest posts

Feb 5, 2023
Post comments count 0
Post likes count 2

5 个 .NET MAUI 功能为您构建出色的桌面应用程序

Amy Peng

本文翻译于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 打开一个全新的窗口: 现在我们的用户可以拥有多个视图,而不必局限于一个窗口的信息。用户可以在任何时候关闭一个窗口,或者我们也可以用程序关闭它。 有关配置多窗口支...

Jan 15, 2023
Post comments count 1
Post likes count 4

.NET 7更新之网络,是你期待的吗?

Amy Peng

最新的.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 中,我们实施...

Dec 14, 2022
Post comments count 1
Post likes count 0

.NET MAUI Community Toolkit中的新增功能

Amy Peng

本文翻译于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 是一种可以将视图停靠到布局容器的两侧的布局。这使得它...

Dec 6, 2022
Post comments count 0
Post likes count 2

欢迎使用 C# 11

Amy Peng

本文翻译于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 查询等。 当有许多特殊字符...

Nov 30, 2022
Post comments count 2
Post likes count 3

20年的 .NET ,更需要 00 后的你

Kinfey Lo

.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 ,为全场景应用保驾护航。你可以...

Nov 10, 2022
Post comments count 2
Post likes count 1

官宣.NET 7的发布

Amy Peng

本文翻译于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 ...

Nov 8, 2022
Post comments count 0
Post likes count 0

ASP.NET Core 7 中的性能改进

Amy Peng

本文翻译于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 的一部分,我们...

Oct 28, 2022
Post comments count 0
Post likes count 0

官宣 .NET MAUI 支持 Xcode 14 和 iOS 16

Amy Peng

本文翻译于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 配对”和...

Oct 21, 2022
Post comments count 1
Post likes count 0

官宣.NET MAUI 支持 .NET 7 Release Candidate 2

Amy Peng

本文翻译于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...