admin管理员组

文章数量:1122852

.NET

国内文章

聊一聊被 .NET程序员 遗忘的 COM 组件

.html

将Windows编程中经典的COM组件拿出来再复习一下,解释了COM组件互相调用的原理。

使用 C# 开发的轻量级开源数据库 LiteDB

介绍一个开源的数据库组件,LiteDB 是一个小型、快速、轻量级的 .NET NoSQL 嵌入式数据库。

.NET性能优化-使用结构体替代类

通过一个案例,讲述如果使用结构体来替代类,从而优化程序的内存占用和运行速度;并介绍其性能优化的原理。

.NET性能优化-使用Collections.Pooled

讲述如何通过Collections.Pooled复用内存,降低GC和提升性能的故事,并比较了和普通集合类型的差别。

.NET性能系列文章一:.NET7的性能改进

主要讲述了哪一些API在.NET7中变得更快,比如LINQ中的Max()、Min()等等。

.NET 6.0 抓取包开源工具WindivertDotnet

WindivertDotnet是面向对象的WinDivert的dotnet异步封装,其保持着完整的底层库能力,又提供dotnet的完美语法来操作。

.NET Core 开发跨平台服务器性能监控工具

介绍一个基于C#开发的、跨平台,监控GC、CPU、内存、机器网络、磁盘空间等关键指标的工具。

Uno开发的小游戏

介绍使用Uno开发的WebAssembly小游戏

记一次 .NET 某金融企业 WPF 程序卡死分析

介绍了一个作者前段时间遇到了一个难度比较高的Dump分析过程。

dotnet 用 SourceGenerator 源代码生成技术实现中文编程语言

.html

介绍了如何使用.NET的SourceGenerator技术实现一个中文编程语言,非常有趣的一个实现。

细聊.Net Core中IServiceScope的工作方式

.html

通过源码详细的解析了IServiceScope的工作方式。

主题

宣布在.NET7 RC2中支持.NET MAUI - .NET Blog

/

对.NET 7 RC 2的.NET MAUI支持已经发布。

该版本包括对Xcode 14 for iOS 16的支持,并可在Visual Studio 17.4 Preview 4中使用。这个版本也支持在生产环境中使用。

OpenSilver 1.1 发布!

.aspx

OpenSilver的1.1版本已经发布,这是一个运行在WebAssembly上的开源实现,旨在实现Silverlight兼容性。

该版本增加了对100多个Silverlight功能的支持,增加了对包括Telerik UI在内的各种第三方库的支持,并将性能提高了3倍。

此外,计划于明年初发布的2.0版本将增加对VB.NET的支持。

  • OpenSilver越来越接近于与早已死亡的微软Silverlight的开源平等地位 -- Visual Studio Magazine[1]

  • OpenSilver 1.1承诺与Silverlight应用程序99%的代码兼容[2]

今天发布:Windows Dev Kit 2023又名Project Volterra - Windows Developer Blog

/

适用于Arm架构的Windows开发套件现在已经上市,名称为Windows Dev Kit 2023。

Windows Dev Kit 2023是在Build 2022中以Project Volterra的名义宣布的一个开发者套件,具有骁龙8cx第三代,32GB内存和512GB NVMe SSD。

从今天起,澳大利亚、加拿大、中国、法国、德国、日本、英国和美国都可以订购。在日本,价格将是99,880日元(含税)。

  • 为Arm应用开发者购买Windows开发套件2023桌面电脑 - Microsoft Store[3]

发布 Diagnostics - v6.0.351802 · dotnet/diagnostics

.0.351802

dotnet-{dump,monitor,trace}(诊断程序)的 6.0.351802 已经发布。

它包括dotnet-dump中的一些错误和改进,包括在Linux/MacOS上扩展SOS命令。dotnet-monitor和dotnet-trace有错误修复。

对旧版Visual Studio的支持提醒 - Visual Studio Blog

/

关于Visual Studio的提醒,它将不再被支持。

  • Visual Studio 2012:扩展支持于2023年1月10日结束

  • Visual Studio 2013:扩展支持于2024年4月9日结束

  • Visual Studio 2015:扩展支持于2025年10月14日结束

  • Visual Studio 2017:主流支持于2022年4月12日结束,扩展支持于2027年4月13日结束(15.9)。

  • Visual Studio 2019(16.9):支持于2022年10月11日结束。建议迁移到16.11以继续支持2019年的工作

  • Visual Studio 2019预览版:由于更新结束,建议迁移到发布频道或迁移到2022年的预览频道

文章还讨论了一些方面,如管理员如何管理更新和删除不再支持的组件。

文章、幻灯片等

你好 .NET! - AtomicJar

/

由Testcontainers的.NET实现的维护者(他们来自AtomicJar)介绍Testcontainers。

在这里,我们将介绍Testcontainers的.NET实现、资源库的增长以及与xUnit.net整合的例子。

dotnet-monitor: 在AKS中启用一个诊断边车

关于如何在AKS(Azure Kubernetes Serivce)Pod中作为边车运行dotnet-monitor的视频。

艰辛历程中学习到的.NET系统编程.pptx

由Akka.NET开发人员提供的关于.NET低级组件API的解释性幻灯片。

.NET Systems Programming Learned the Hard Way

Recording:
Slides: #performance

— Aaron Stannard (@Aaronontheweb) October 19, 2022

[C#]使用MemoryPack - 基础知识1 | spacekey.dev

/memorypack-1

使用二进制序列化工具MemoryPack的系列文章

  • [C#]MemoryPack - ASP.NET Core中使用 | spacekey.dev[4]

  • [C#]MemoryPack - TypeScript中使用 | spacekey.dev[5]

  • [C#]MemoryPack - MemoryPackable特性 | spacekey.dev[6]

CLR 事件: 选择nettrace文件格式!

关于如何在nettrace二进制流中接收来自CLR的诊断事件的文章。

使用WSL和Rider的ASP.NET/Kubernetes开发 (1)

/dynamitecoolguy/articles/4530e1134bcbac

文章描述了在WSL上运行Rider以及使用ASP.NET Core和Kubernetes进行开发的准备步骤。

使用.NET 6 + Hot Chocolate v12 + Redis实现GraphQL API网关

关于如何使用.NET 6、Hot Chocolate v12和Redis实现GraphQL API网关的文章。

为你的.NET项目编写你自己的代码覆盖统计脚本

/@stefanacimovicMEng/write-your-own-code-coverage-script-for-your-net-projects-e26b621aa0dc

关于如何创建自己的一系列步骤以获得.NET项目的代码覆盖并输出报告的文章。

ASP.NET Core中的自定义脚手架模板 | dotnetthoughts

/

关于如何在项目层面定制ASP.NET Core MVC模板的文章。

通过API-Gateway使用SAM从AWS::Serverless::Function下载镜像 - Qiita

关于在使用AWS无服务器应用程序模型创建应用程序时如何通过API网关处理二进制数据的文章。

10个你应该尝试的Visual Studio 2022主题(免费主题!)

/

介绍可以添加到Visual Studio 2022的十个不同主题。

构建自己的反向代理

关于在YARP中创建一个简单的反向代理服务器的文章。

现场错误处理 - Ayende @ Rahien

一个关于如何收集应用程序崩溃报告(UnhandledException)的故事,最近的Windows更新改变了WPF的行为,在内部引起了一个错误,所以它被忽略了,但很微妙。

如何用Azure通信服务在.NET中大规模地发送电子邮件

关于如何使用Azure通信服务来发送电子邮件的文章。

试用.NET 7中ASP.NET Core Blazor的新功能

/okazuki/articles/blazor-dotnet7

介绍.NET 7中ASP.NET Core Blazor的新功能的文章。

它提到了WebAssembly加载、绑定修改器、虚拟化改进和导航改进。

图书馆、资源库、工具等

Sergio0694/PolySharp:PolySharp为C#语言特性提供了生成的、仅有源码的Polyfills,以轻松使用所有运行时无关的特性。添加一个引用,将你的C#版本设置为最新版本,然后尽情享受吧! 🚀

这个想法是通过为目标框架生成额外的类型来提供新的语言特性,这些类型不包含属性(如CallerArgumentExpression)或结构(如Range)类型,这些都是C#语言特性所要求的。Polyfill。

xt0rted/dotnet-startup-projects: 一个dotnet工具来管理一个解决方案的多个Visual Studio启动项目

改变解决方案所启动的Visual Studio版本的工具。

=12&t=nWJI9WhjD8PixDRVN--Rlw

网站、文件等

.NET中的网络遥测 - .NET | Microsoft Learn

总结遥测信息的文件,如.NET中的网络相关计数器。

推文

  • =12

谈及代码生成的挑战,尽管我们正在努力使ASP.NET Core和Entity Framework Core与NativeAOT兼容。


  • =12

解决方案资源管理器中的一个小技巧,"显示所有文件",可以让你看到你在SDK中加载的目标、道具等,等等。


  • =12

谈论一下如何分割总共3GB的NuGet包[7]


  • =12

如果有一件事我不喜欢,那就是被捕获但隐藏了另一个问题的异常(或者可以避免,而使用更简单的检查)。Mono调试API使以编程方式监控您的Unity游戏/编辑器变得极其简单。


深入理解

引入System.Runtime.TieredPGO 由EgorBo提供 · Pull Request #26350 · dotnet/sdk

在.NET 7中增加了一个选项,通过环境变量TieredPGO和MSBuild属性来启用分层PGO。


由"[UnscopedRef]"和防御性复制的结构产生的对范围外堆栈内存的引用,编译器应报告错误。· Issue #64776 · dotnet/roslyn

一个编译器错误,允许编写的代码返回一个已经被防御性地复制到堆栈的值的引用,并允许不应该有的访问。

参考资料

[1]

OpenSilver越来越接近于与早已死亡的微软Silverlight的开源平等地位 -- Visual Studio Magazine: .aspx

[2]

OpenSilver 1.1承诺与Silverlight应用程序99%的代码兼容: /

[3]

为Arm应用开发者购买Windows开发套件2023桌面电脑 - Microsoft Store: /94k0p67w7581

[4]

[C#]MemoryPack - ASP.NET Core中使用 | spacekey.dev: /memorypack-2

[5]

[C#]MemoryPack - TypeScript中使用 | spacekey.dev: /memorypack-3

[6]

[C#]MemoryPack - MemoryPackable特性 | spacekey.dev: /memorypack-4

[7]

谈论一下如何分割总共3GB的NuGet包: .3-linux-x64#dependencies-body-tab

本文标签: NET