https://github.com/dotnet/runtimelab/pull/2002
.NET Runtimelab中綠色執行緒的原型實現的PR,在不久的將來,.NET開發者也可以方便的用上有棧協程,目前的啟動一個有棧協程的API如下所示:
https://twitter.com/EgorBo/status/1579474949152313347?ref_src=twsrc^tfw
談論FOH(凍結物件堆)的許多部分將被合併到.NET 8中,因此像typeof(x)
這樣的東西在生成JIT程式碼時可以處理直接參照省略寫屏障,進一步提升效能。對比的組合程式碼如下所示:
https://devblogs.microsoft.com/dotnet/bing-ads-campaign-platform-journey-to-dotnet-6/
一個關於Bing的搜尋廣告活動平臺向.NET 6遷移的案例研究(+AKS)。
該平臺建立在幾十個分散式服務上,每秒處理數千個請求,時間不到100ms。 通過WCF託管在一個(僅僅是 "解除 "的)Windows虛擬機器器中的.NET框架4.6和SOAP服務。 在Windows虛擬機器器中託管了一個WCF的SOAP服務和一個.NET框架4.6。
文章介紹了轉移到新的.NET平臺的原因。
原因主要有以下五點:
遷移過程中,庫的順序是".NET Framwork 4.6→. Framwork .7→.NET Standard 2.0",而應用的順序是".NET Framwork 4.6→.NET Framwork 4.7→.NET Core 3.1→.NET 5→.NET 6",按順序排列。 .NET Framwork 4.6並不完全支援.NET Standard,遷移到.NET Standard並不容易。
該專案在遷移過程中提出了幾個挑戰和解決方案。
首先,該專案依賴於一些NuGet軟體包,這意味著必須更新軟體包和替換舊庫。 不相容的軟體包被重新包裝,並以支援.NET標準的形式釋出到內部軟體包中,甚至沒有原始碼的軟體包也被反編譯和修補,使其與.NET標準相容。
通過轉移到PackageReference方法,解決了繫結重定向的問題,這也解決了菱形依賴性問題。 由於有大量的.csproj,遷移是通過SDK式的轉換工具實現的。 隨後,.NET團隊釋出了一個名為try-convert的類似工具。 他們還試圖集中管理軟體包的版本,以減少軟體包依賴關係的複雜性。 (文章中的連結。Microsoft.Build.CentralPackageVersions是一個新的NuGet的 中央軟體包管理,它似乎是[NuGet的]的前身。
最後,還有對WCF的依賴。 該服務是由WCF用SOAP服務構建的,由於它是對使用者開放的,所以不可能遷移到類似gRPC的東西上,所以最後建立了CoreWCF,它是WCF的一個子集,並進行了遷移。 談到.NET框架與.NET的關係時,他說:"我們的目標是使我們的產品和服務更有競爭力。
從WCF到CoreWCF的遷移對.NET有很大的影響,可以減少40-50%的記憶體使用。
總而言之,向.NET 6的遷移是一次大規模的、痛苦的但值得的經歷,從大型程式碼庫的遷移中總結出以下經驗:
https://itnext.io/from-junior-to-genius-an-optimization-story-ab20afc8159d
一篇關於調整程式碼的文章,根據計算32位元校驗和的程式碼,在不同的階段進行計算。
文章從一個簡單的實現,到一個不安全的實現,到一個棘手的實現,到一個簡單的實現,到一個使用SIMD的實現,最後到一個85倍的效能優化。
Console.ReadKy
在.NET 7中的優化 - .NET Bloghttps://devblogs.microsoft.com/dotnet/console-readkey-improvements-in-net-7/
文章描述了.NET 7中的重寫和修改,使Console.ReadKey
在Unix/Linux上表現得更好。
一段時間以來,在Unix/Linux上的Console.ReadKey
的行為,在輸入的組合鍵和處理修改鍵方面,已經發現了一些BUG。 為了解決這個問題,在.NET 7中的程式碼已經被重新編寫了。
文章介紹了在重寫前為增加自動測試覆蓋率所採取的方法,內部系統呼叫的呼叫,舊的實現和新的實現。
它還引入了runtimeconfig.json和環境變數設定,恢復到.NET 6相容行為。 這些相容性行為將在.NET 8中被刪除。
https://devblogs.microsoft.com/visualstudio/comparing-files-in-visual-studio/
關於考慮在Visual Studio中實現檔案比較功能的問題。
Visual Studio過去沒有提供通過選擇任意檔案來比較檔案的功能,但它已經開始考慮。 首先,他們已經開始試驗一個名為 "檔案差異 "的功能擴充套件,文章介紹了該擴充套件的功能。
如果你有興趣,他們希望你能提供反饋和投票。
https://devblogs.microsoft.com/dotnet/authentication-in-dotnet-maui-apps-msal/
宣佈在Microsoft Identity.Client 4.47.0(MSAL.NET)中支援.NET MAUI。
https://devblogs.microsoft.com/dotnet/announcing-the-dotnet-maui-community-toolkit-v13/
.NET MAUI Community Toolkit v1.3已經發布。
.NET MAUI Community Toolkit v1.3現已釋出,包括狀態列樣式、Gravatar圖片來源、動畫增強和源連結支援等內容。
https://github.com/AvaloniaUI/Avalonia/releases/tag/11.0.0-preview2
Avalonia 11.0.0 Preview 2已經發布。
它包括幾個穩定性改進和各種修復。
https://blog.jetbrains.com/dotnet/2022/10/07/rider-2022-3-eap-2/
Rider 2022.3 EAP 2已經發布。
新的基於IntelliJ的IDE UI,改進了Search Everywhere、工具視窗和Solution Explorer,Linux和macOS支援Rider的內建dotMemory,支援C# 11,改進了單元測試探索器,改進了 支援.NET MAUI,支援在IIS中啟動,動態程式分析(資料庫存取),等等。
宣佈NuGet PackageReference支援Visual Studio 2022 17.3版或更高版本中針對.NET Core或.NET 5或更高版本的C++/CLI MSBuild專案。
https://speakerdeck.com/muak/xamarin-dot-formsraiburariwo-mauiniyi-zhi-sitahua
談及將Xamarin.Forms的庫移植到.NET MAUI的幻燈片。
在這裡,我們要介紹一下.NET MAUI,包括實施方法的不同和技巧。
https://www.docswell.com/s/hiro128_777/KW79X5-2022-09-30-184910
幻燈片顯示了.NET MAUI與Xamarin.Forms的架構差異,對各種工具的支援現狀等。
https://blog.jetbrains.com/dotnet/2022/10/06/net-annotated-monthly-october-2022/
2022年10月,JetBrains公司釋出了一篇與.NET相關的資訊彙總文章
https://qiita.com/kobayashi_stmn/items/7de42805eba009deebaa
關於如何在.NET 6 WPF應用程式中使用NamedPipe進行程序間通訊的文章。
宣佈Azure Marketplace Visual Studio映象現在由Microsoft Dev Box支援。
https://andrewlock.net/adding-validation-to-strongly-typed-configuration-objects-in-dotnet-6/
關於如何在.NET 6 Microsoft.Extensions.Configuration中為強型別的設定物件新增驗證的文章。
https://tech.tanaka733.net/entry/2022/10/opentelemetry-dotnet-08
關於如何使用Azure服務匯流排在服務之間連線請求的痕跡的文章。
https://jonhilton.net/blazor-custom-elements/
關於如何使用自定義元素在Blazor中構建動態元素的文章。
https://particular.net/blog/pipeline-and-closure-allocations
關於通過減少NServiceBus中的lambda捕獲(分配)來提高效能的文章。
https://zenn.dev/test_myname/articles/d982b67cf0615f
關於如何在.NET MAUI中顯示/隱藏Android螢幕鍵盤的文章。
https://dev.to/dotnet/blazor-wasm-custom-404-page-on-gh-pages-1o99
當Blazor WebAssembly託管在GitHub Pages上時,如何在存取不存在的頁面時顯示一個自定義錯誤頁面的文章。
https://github.com/xoofx/Antlr4Ast
一個能解析ANTLR4/g4檔案以建立AST的庫。
Hey .NET folks, it's a rainy Sunday here so I just released a new .NET library https://t.co/3tlFpUlJnt to parse ANTLR4/g4 files into a lightweight AST useful for codegen scenarios.
I'll use this library for #starklang to generate the data oriented syntax from an ANTLR g4 spec!