https://mp.weixin.qq.com/s/H9xUAO_yAdqm5CIHBs_eqA
中國地區是 .NET 的一個重要的市場和社群,有著眾多的 .NET 開發者和愛好者。中國地區也有著很多優秀的 .NET 相關的專案和資源。這些專案和資源為中國地區的 .NET 開發者提供了很多學習和交流的機會和平臺。為了更好地瞭解全球 .NET 開發者的情況和需求,並且為未來 .NET 的發展提供參考和建議,dotnet 官方特別推出了 dotnet 倉庫社群生態調查。進入該連結,通過第一個 comment 便可以加入調查。
https://github.com/dotnet/runtime/issues/81866
https://www.cnblogs.com/huangxincheng/archive/2023/02/13/17115916.html
這段時間經常有朋友微信上問我這個真實案例分析連載
怎麼不往下續了,關注我的朋友應該知道,我近二個月在研究 SQLSERVER,也寫了十多篇文章,為什麼要研究這東西呢? 是因為在 dump 中發現有不少的問題是 SQLSERVER 端產生的,比如:遺留事務
,索引缺失
,這讓我產生了非常大的興趣,畢竟他們是一對黃金搭檔。回到本話題上來,年前有位朋友找到我,說他的程式在業務高峰期的時候CPU一直居高不下,諮詢一下是什麼問題? 按照老規矩,上 WinDbg 說話。
https://www.cnblogs.com/stulzq/archive/2023/02/14/17118904.html
System.Text.Json 是 .NET Core 3 及以上版本內建的 Json 序列化元件,剛推出的時候經常看到踩各種坑的吐槽,現在經過幾個版本的迭代優化,提升了易用性,修復了各種問題,是時候考慮使用 System.Text.Json 了。本文將從使用層面來進行對比。
上週在.NET效能優化群裡面有一個很有意思的討論,討論的問題"二維陣列,用C#先遍歷行再遍歷列,或者先遍歷列再遍歷行,兩種方式在效能上有區別嗎?"看了群裡面激烈的討論,剛好今天有時間,我們就來看看真實情況是怎麼樣的?實踐出真知,我們編寫一個Benchmark一測便知。
https://mp.weixin.qq.com/s/lqfH4nFTEkv1da9TjjW4Dw
介紹瞭如何使用ML.NET實現一個人臉檢測的應用。
https://mp.weixin.qq.com/s/7YuvMQbkvDb2y0MQw0NUGw
.NET7在去年11月份釋出,它屬於短期支援版本,儘管如此,也新增加了比較多的功能功能改進,包括ASP.NET Core 7.0等模組也有較大的改進,你目前用過幾個新特性呢?本文將從6個方面來簡單介紹ASP.NET Core 7.0的新增功能和改進。
https://mp.weixin.qq.com/s/n2mAkF8_4kWKqsBsvxv79A
Avalonia XPF[1] 通過我們的跨平臺UI框架,釋放現有WPF應用程式的全部潛力,使WPF應用程式能夠在macOS和Linux上執行,而不需要昂貴和有風險的重寫。
https://mp.weixin.qq.com/s/soNkJ7hpg3z4CspP9iXRZA
本文敘述的問題的根源在於對C#基礎知識掌握不牢固,從而在遇到難以理解的問題時浪費了大量時間;在此也警示自己,該啃啃基礎書籍了!話不多說,先上程式碼。
https://mp.weixin.qq.com/s/iDq51PY78vZJEItJL-0TWQ
有的時候丟擲一個異常,我們需要知道是哪個方法丟擲的異常。那麼,我們可以通過傳遞 nameof 來獲取呼叫者的方法名。但是,感覺很煩,每次都要傳遞 nameof。那麼,有沒有更好的方法呢?
https://mp.weixin.qq.com/s/qwPwcawvYcJ7WZbOS-JRCw
.Net 8 Preview 1 即將到來,讓我們來提前看看都要釋出什麼吧。
跨平臺的商業解決方案,用於在非Windows環境下執行現有的WPF應用程式,如Linux和macOS。本產品提供了與.NET 6相容的庫,可以在Linux和macOS上執行WPF應用程式,而不需要重寫它們。 第三方元件也被支援。與Avalonia UI不同,它只在商業許可下提供,因為它被定位為一個面向企業的解決方案。
https://blog.jetbrains.com/dotnet/2023/02/13/rider-2023-1-eap-4/
Rider 2023.1 EAP 4已經發布。
它包括一些改進,如IDE縮放支援、WASM應用程式啟動的偵錯、額外的Astro支援、改進的Angular支援和Vue模板中的TypeScript支援。
https://blog.jetbrains.com/dotnet/2023/02/17/resharper-2023-1-eap-5/
ReSharper 2023.1 EAP 5已經發布。
這個版本包括對不活躍的前處理器分支的重新格式化、改進的重新命名重構以及對macOS、Linux x64和ARM64上獨立dotTrace的支援。
https://devblogs.microsoft.com/nuget/introducing-search-by-target-framework-on-nuget-org/
現在NuGet.org上的搜尋可以通過目標框架來縮小範圍。
如果選擇".NET",目標框架是net5.0到net7.0,必要時還可以縮小到net7.0,以此類推。 當指定net7.0時,NET 7執行時支援,但不管它是否包含在庫的TargetFrameworks
中。
Microsoft 正式批准了 Parallels Desktop for Mac 上的 Windows 11 Pro 和 Enterprise for Arm。
不支援 WSL、Windows Subsystem for Android、Windows Sandbox 以及依賴巢狀虛擬化的虛擬化安全。 執行32位元Arm應用程式也不被支援(這在Windows中也被廢棄)。
https://zenn.dev/microsoft/articles/reactiveproperty-v9-0-0
ReactiveProperty v9.0.0已經發布。
它提高了效能,擴大了獨立於System.Reactive的開發範圍,並增加了ReactiveCommandSlim, ValidatableReactiveProperty<T>等類。
https://ikorin2.hatenablog.jp/entry/2023/02/13/072121
關於如何通過建立一個可以明確說明物件是否可以被銷燬的型別來明確銷燬物件的責任所在。
https://zenn.dev/shimat/articles/77c00c1f421a47
關於P/Invoke的隱患,如幕後處理導致的開放。
params Span
修訂後params ReadOnlySpan
https://ufcpp.net/blog/2023/2/params-ros
正在考慮在C# 12中接受非陣列的params(可變長度的引數)的規範的現狀。
https://guriysamarin.medium.com/omitting-async-await-723a04d8f56b
關於省略async/await並直接返回Task的做法不被推薦。
堆疊痕跡和AsyncLocal洩露的差異。 (順便說一下,也有通過使用錯誤處置的常見例子)。
https://blog.codeinside.eu/2023/02/11/aspnet-core-react-with-vitejs/
如何在ASP.NET Core應用程式中使用React和Vite.js。
https://blog.neno.dev/entry/2023/02/11/161723
當你在Roslyn中使用GetTypeByMetadataName
從編譯中通過後設資料名稱獲得型別時,從Roslyn 4.1開始最好使用GetTypesByMetadataName
,因為如果你使用GetTypeByMetadataName
通過後設資料名稱獲得一個型別,將不會得到預期的相同名稱。 下面是對此的簡要解釋。
https://devblogs.microsoft.com/visualstudio/visual-studio-ai-assistance-a-developers-best-friend/
介紹一下Visual Studio中的IntelliCode的作用。
https://code-maze.com/csharp-determine-whether-two-date-ranges-overlap/
如何比較兩個日期範圍的重疊情況。
如何使用HashiCorp Consul in .NET實現服務網格和服務發現?
https://devblogs.microsoft.com/xamarin/upgrade-xamarin-ios-android-to-dotnet6-dotnet7/
從Xamarin.iOS和Xamarin.Android升級到.NET for iOS & Android(本地繫結,不是.NET MAUI)的技巧。
https://devblogs.microsoft.com/dotnet/why-dotnet/
關於什麼是.NET以及為什麼你應該選擇它的文章,重點是為開發人員提供的.NET執行時間。
https://qiita.com/ZiYuCai1984/items/dbb069f5ade08d242acb
關於參照NuGet包時的版本解析規則。
https://blog.jetbrains.com/dotnet/2023/02/14/getting-started-entity-framework-core-7-json-support/
如何使用Entity Framework Core 7中新增的JSON支援。
https://woodruff.dev/accelerating-ef-core-with-compiled-queries/
關於Entity Framework Core的編譯查詢。
https://qiita.com/tinymouse/items/01b1bc4a74429ddc0b17
關於使用Radzen,一個用於Blazor的UI元件庫。
https://twitter.com/davidfowl/status/1626097506286436352
New Bing的AI聊天功能是使用SignalR實現的。
https://twitter.com/MStrehovsky/status/1625702785516994565
.NET NativeAOT 大小的進化史,從.NET7 Preview5建立Hello World程式需要4.5MB到現在.NET8 Preview 1只需要1.7MB。
https://github.com/dotnet/aspnetcore/issues/46636
.NET 8中Blazor United的問題。
由於筆者沒有那麼多時間對國內的一些文章進行整理,歡迎大家為《.NET週報-國內文章》板塊進行貢獻,需要推廣自己的文章或者框架、開源專案可以下方的專案地址提交Issue或者在我的微信公眾號私信。
格式如下:
https://github.com/InCerryGit/.NET-Weekly
相信大家在開發中經常會遇到一些效能問題,苦於沒有有效的工具去發現效能瓶頸,或者是發現瓶頸以後不知道該如何優化。之前一直有讀者朋友詢問有沒有技術交流群,但是由於各種原因一直都沒建立,現在很高興的在這裡宣佈,我建立了一個專門交流.NET效能優化經驗的群組,主題包括但不限於:
希望能有更多志同道合朋友加入,分享一些工作中遇到的.NET效能問題和寶貴的效能分析優化經驗。目前一群已滿,現在開放二群。
如果提示已經達到200人,可以加我微信,我拉你進群: ls1075
另外也建立了QQ群,群號: 687779078,歡迎大家加入。