net 7 rc1 發布

net 7 rc1 發布

今天我們宣布 .net 7 候選版本 1。這是生產中支持的 .net 7 的兩個候選版本 (rc) 中的第一個。

最后更新 2022/9/15 上午9:01
Jeremy Likness,Angelos Petropoulos,Jon Douglas
预计阅读 9 分钟
分类
.NET
标签
.NET C#

原文链接:https://devblogs.microsoft.com/dotnet/announcing-dotnet-7-rc-1/

原文作者:jeremy likness,angelos petropoulos,jon douglas

翻譯:沙漠盡頭的狼(谷歌翻譯加持)

今天我們宣布 .net 7 候選版本 1。這是生產中支持的 .net 7 的兩個候選版本 (rc) 中的第一個。

您可以下载适用于 Windows、macOS 和 Linux 的.NET 7 Release Candidate 1

.NET 7 Release Candidate 1 已通过 Visual Studio 17.4 Preview 2 测试。如果您想在 Visual Studio 系列产品中试用 .NET 7,我们建议您使用预览通道版本。如果您使用的是 macOS,我们建议使用最新的Visual Studio 2022 for Mac 预览版

不要忘记.NET Conf 2022。在 2022 年 11 月 8 日至 10 日与我们一起庆祝 .NET 7 的发布!

在本博客中,我們將重點居間 .net 7 的核心主題,並為您提供深入了解細節的資源。

要更詳細地回顧 .net 7 release candidate 1 中包含的所有功能和改進,請查看之前的 .net 7 preview 博客文章:

.NET MAUI

net 多平台應用程式 ui (maui) 將 android、ios、macos 和 windows api 統一到一個 api 中,因此您可以編寫一個在多個平台上本機運行的應用程式。. net maui 使您能夠提供由每個平台(android、ios、macos、windows 和 tizen)專門設計的最佳應用體驗,同時使您能夠通過豐富的樣式和圖形打造一致的品牌體驗。開箱即用,每個平台的外觀和行為都符合其應有的方式,無需任何額外的小部件或樣式。

作為 .net 7 的一部分,.net maui 提供了一個項目來處理跨設備及其平台的多目標。要了解有關生產力改進、工具和性能增強的更多信息,請查看以下資源:

注意: 使用 .net 7 試用 .net maui 的 visual studio 體驗將在即將發布的 17.4 preview 2.1 版本中提供。

雲原生

雲原生是一組最佳實踐,用於在雲中構建應用程式,以利用彈性、可擴展性、效率和速度。

net 是構建雲原生應用程式的絕佳選擇。要了解有關 .net 7 中的雲原生功能和改進的更多信息,請查看以下資源:

ARM64

arm 提供了小尺寸、卓越性能和高功率效率。

net 可幫助您構建在 arm 設備上運行的應用程式。有關 .net 7 在 arm64 上運行速度的更多信息,請查看以下資源:

現代化

在現代版本的 .net 上,您可以利用閃電般的性能和大量新功能來提高開發人員的生活質量。

為了使升級體驗儘可能無縫,.net 升級助手為您提供分步指導體驗,通過分析和升級您的項目文件、代碼文件和依賴項來現代化您的 .net 應用程式。

有關 .net 7 如何幫助您實現應用程式現代化的更多信息,請查看以下資源:

表現

net 很快。. net 7 是目前最快的 .net。. net 7 對反射、堆棧替換 (osr)、啟動時間、本機 aot、循環優化和許多其他領域進行了超過一千項影響性能的改進。

有關為什麼 .net 7 是目前最快的版本的更多信息,請查看以下資源:

Contributor spotlight: Filip Navara

向我们所有的社区成员致以巨大的“谢谢”。我们非常感谢您的周到贡献。我们请贡献者@filipnavara分享他的想法。

filipnavara

用菲利普自己的話說:

我從小就開始玩電腦。在拜訪我爺爺的時候,我經常看到他在 basic 做他的工作。他正在編寫工廠自動化軟體,我從他那裡繼承了我對所有技術事物的熱愛。dos 是當時的標準系統,而 borland 主導了編程工具。我想了解編程的工作原理並學習它。我固執地拒絕了他的所有建議,不得不自己通過反覆試驗來學習一切。這很愚蠢,但看到這些小程式變得生動起來很有趣。

漸漸地,我開始用不同的語言編程,探索網際網路,然後是開源世界。我最喜歡在編譯器、作業系統或系統模擬器等低級軟體上進行編碼。在高中的業餘時間,我為 wine、reactos、qemu、binutils 和 mingw 編譯器工具集等項目做出了貢獻。

當 .net framework 的第一個版本問世時,我立刻被吸引住了。它保證了我熟悉的 delphi 的簡單性,而且 c# 語言學習起來真的很有趣。時機恰到好處,因為我和朋友們開始了一個開發電子郵件客戶端應用程式的小項目,我們都同意在 .net 中構建它。那個應用程式,em client,讓我在整個大學學習期間都忙得不可開交。直到今天,它仍然是我目前的項目;儘管團隊已經壯大,但我的職責已經轉移,而且我們有很多非常有才華的程式設計師來解除我的職責。

net 的開源對我們來說是一大福音,讓很多事情變得更容易。如今,我可以更多地專注於業餘項目,為 .net 做貢獻是自然而然的選擇。它使我能夠充分利用我的知識,從硬體的低級細節和作業系統內部,到我們的電子郵件應用程式構建的高級框架。

開放代碼允許我推動一個項目將 winforms 框架移植到 macos(基於 mono 代碼,但在許多地方使用 cocoa 原生控制項)。當 .net 5 統一計劃開始實施時,我開始做出更多貢獻。對於我們來說,xamarin.mac 和 mono 等不同平台在我們在 windows 上使用的 .net 所支持的功能方面一直落後,這一直是我們的痛點。最初,我開始填補 mono 基類庫中的空白,它已經與 .net core 共享了一些代碼。我意識到這種追趕遊戲可能不是最佳解決方案,因此我開始探索其他選項,例如在 coreclr 上運行 xamarin.mac。它恰好發生在編寫第一個 monovm(.net 5+ 中的 mono 運行時)提交的前幾天。一旦我意識到發生了什麼,我就加入了這個計劃。所有這些工作都隱藏在 github 上,幾個月後在 build 大會上發布了官方公告。看到進展令人激動,構建了我自己的 xamarin 運行時構建,該構建運行在這個早期的統一 monovm 運行時上,顯示了第一個 ui。最終,它甚至啟動了我們的電子郵件客戶端應用程式。這確實改變了我們的遊戲規則。使用舊的 .net framework,我們無法在新功能發布時使用它們。新版本的部署需要數年時間才能趕上。現在我處於相反的境地,比其他人跑得更早!

這項關於運行時統一的工作現已成功結束,我們向客戶發布了具有最新 .net 6 的應用程式。但是,.net 中的許多地方仍然可以改進,我喜歡與 .net 團隊的人一起工作。我嘗試為每個版本驅動至少一個次要功能。對於 .net 6,我專注於讓 ios 加密堆棧正常工作。對於 .net 7,在網絡團隊的大力幫助下,我嘗試了一個用於處理 negotiate/kerberos/ntlm 身份驗證的 api。雖然它不是一個非常有吸引力或可見的功能,但它是長期的技術債務。單元和功能測試中缺少代碼;asp.net 通過反射訪問內部,對 nativeaot 不友好;最重要的是,圖書館作者不得不使用複雜的方法來解決缺乏簡單公共 api 的問題。

我真誠地希望在未來做出更多貢獻,我很高興看到其他貢獻者找到他們感興趣的領域,並使整個平台對每個人都更好!

支持

.NET 7 不是长期支持 (LTS) 版本,因此它将在发布之日起 18 个月内获得免费支持和补丁。重要的是要注意所有版本 LTS 的质量是否相同。唯一的区别是支撑的长度。有关 .NET 支持政策的更多信息,请参阅.NET 和 .NET Core 官方支持政策

路線圖

net 版本包括產品、庫、運行時和工具,代表了 microsoft 內外多個團隊之間的協作。您可以通過閱讀產品路線圖了解有關這些領域的更多信息:

結束

我们感谢您对 .NET 的所有支持和贡献。请尝试 .NET 7 Release Candidate 1并告诉我们您的想法!

Keep Exploring

延伸阅读

更多文章
同分类 / 同标签 2026/2/7

aot使用經驗總結

從項目創建伊始,就應養成良好的習慣,即只要添加了新功能或使用了較新的語法,就及時進行 aot 發布測試。

继续阅读