国内文章统一的开发平台。NET7正式发布 https:www。cnblogs。comshanyouarchive2022110916871945。html 在2020年规划的。NET5功能终于在。NET7完成了,为微软和社区一起为多年来将不同的开发产品统一起来的努力加冕,未来只有一个。NET,回顾。NET20年,从。NETFramework。NETCore。NET一个产品命名可以反映出。NET的发展脉络,从封闭走向开放,犹如历史中的各种拨乱反正的演进。。。。。。 。NET7AOT的使用以及。NET与Go互相调用 https:www。cnblogs。comwhuanlep16875679。html 本文主要介绍如何在。NET和Go语言中如何生成系统(Windows)动态链接库,又如何从代码中引用这些库中的函数。在。NET部分,介绍如何使用AOT、减少二进制文件大小、使用最新的〔LibraryImport〕导入库函数;在Go语言部分,介绍如何使用GCC编译Go代码、如何通过syscall导入库函数。在文章中会演示。NET和Go相互调用各自生成的动态链接库,以及对比两者之间的差异。 。NET性能优化是时候换个序列化协议了 https:www。cnblogs。comInCerrypDotnetPerfOptSerializationProtocol。html 本文主要介绍了序列化协议对。NET程序性能的影响,以及对主流的。NET序列化框架进行序列化、反序列化速度、内存分配、序列化后大小的评测,找出如果我们不用JSON,那应该使用什么序列化协议的思考。 一个超经典WinForm卡死问题的再反思 https:www。cnblogs。comhuangxinchengp16868486。html 这篇文章起源于昨天的一位朋友发给我的dump文件,说它的程序出现了卡死,看了下程序的主线程栈,居然又碰到了OnUserPreferenceChanged导致的挂死问题,真的是经典中的经典,线程栈如下。。。。。。。 〔炫丽〕从0开始做一个WPFBlazor对话小程序 https:www。cnblogs。comDotnet9comp16868009。html 大家好,我是沙漠尽头的狼。。NET是免费,跨平台,开源,用于构建所有应用的开发人员平台。本文演示如何在WPF〔1〕中使用Blazor〔2〕开发漂亮的UI,为客户端开发注入新活力。 关于ASP。NETCoreWebSocket实现集群的思考 https:www。cnblogs。comwucyp16857160。html 提到WebSocket相信大家都听说过,它的初衷是为了解决客户端浏览器与服务端进行双向通信,是在单个TCP连接上进行全双工通讯的协议。本篇文章就来和大家分享一下基于ASP。NETCore原生WebSocket的方式实现集群的实现思路。 关于。Net和Java的看法一个小实习生经历 https:www。cnblogs。comxiaofangcodep16871193。html 笔者是一个专科院校的一名普通学生,目前就职于某三线城市的WEB方面。Net开发实习生,在找实习期间和就业期间的一些看法,发表此文,纯个人想法,欢迎讨论,指正!哈哈轻点喷。。。。。。 。NET7。0重磅发布及资源汇总 https:www。cnblogs。comSavionZhangarchive2022110916872493。html 2022118。NET7。0作为微软的开源跨平台开发平台正式发布。微软在公告中表示。NET7为您的应用程序带来了C11F7,。NETMAUI,ASP。NETCoreBlazor,WebAPI,WinForms,WPF等的性能和新功能,。借助。NET7,您还可以轻松容器化。NET7项目,在GitHub操作中设置CICD工作流,并实现云原生可观测性。 C11之原始字符串 https:mp。weixin。qq。comsobervizSYjeCumzNNUIrNg 最近。NET7。0和C11相继发布,笔者也是第一时间就用上了C11,其中C11的有一个更新能解决困扰我多年的问题,也就是文章的标题原始字符串。在使用C11的原始字符串时,发现的一些有意思的东西,超出了我原本对它的期待,话不多说,我们一起来看看。 微软KVStoreFaster如何巧妙实现1。6亿ops https:mp。weixin。qq。comsyvGEnzCDCbfdOJjD6bdEA 微软在2018SIGMODTransactionsandIndexingSession中发表了一篇名为《FASTER:AConcurrentKeyValueStorewithInPlaceUpdates》的paper,文章提出了一种在更新密集,访问模式多表现出时间局部性,允许工作集大于内存,访问操作多为点读,BlindUpdate以及ReadModifyWrite场景下的表现极佳的KV引擎,号称单机QPS可以达到1。6亿。 。NET6。0小知识之项目插件编写 https:mp。weixin。qq。comskc5djLlEXikUwLEpou89bA 实现一个可以动态加载,动态更新服务的插件需求。插件的好处是什么?我们可以编写代码来动态去替换或者增加现有服务接口等,使用得当的情况下风险小、操作方便。 。NET7gRPCJSON转码OpenAPI https:mp。weixin。qq。comshBmdz8L2h3pjP0fqvofmA gRPCJSON转码允许浏览器应用调用gRPC服务,就像它们是使用JSON的RESTfulAPI一样。 浏览器应用不需要生成gRPC客户端或了解gRPC的任何信息。 通过使用HTTP元数据注释。proto文件,可从gRPC服务自动创建RESTfulAPI。 使应用可以同时支持gRPC和JSONWebAPI,而无需重复为两者生成单独的服务。 数组还是HashSet? https:mp。weixin。qq。comsiXxNXXt8p7YUUs2F7lJBw 本文介绍了在元素很少的时候进行Contains操作应该使用数组还是HashSet,以及在不同元素数量时HashSet和数组的性能比较。 试试将。NET7编译为WASM在Docker上运行 https:mp。weixin。qq。comsrYQm154Zykbmi0ZPACndw 本文介绍了WASMWASI的原理,然后尝试将。NET程序编译为WASM,并在Windows和Docker最新的wasmruntime上运行。 还在手画C依赖关系图吗?快来试试这个工具吧! https:mp。weixin。qq。comsIZBZR8FrTWs5WCussiY8Sg 还在手画C依赖关系图吗?快来试试这个工具吧!笔者最近见到了一个不错的工具,可以让大家在看代码的时候一键生成C依赖的类图。非常适合编写文档、查看和学习开源项目设计时使用,比如下方就是笔者通过这个工具生成的Microsoft。Extensions。ObjectPool依赖图,可以非常清晰明了的告诉我们类与类之间的关系。 基于。NET7的QUIC实现Echo服务 https:mp。weixin。qq。comssxHFuvelnJCpN8j9msX2Fw 随着今年6月份的HTTP3协议的正式发布,它背后的网络传输协议QUIC,凭借其高效的传输效率和多路并发的能力,也大概率会取代我们熟悉的使用了几十年的TCP,成为互联网的下一代标准传输协议。在最新的。NET7中,。NET团队公开了QuicAPI,它是基于MSQuic库来实现的,提供了开箱即用的支持,命名空间为System。Net。Quic。 主题。NET7今天正式推出。NETBlog https:devblogs。microsoft。comdotnetannouncingdotnet7 。NET7已经发布。这篇文章重申了对。NET7中各种新功能和变化的总结。 融合。 支持64位的IBMPower平台 一个BCL(一个基础类库) 新TFM 本机支持ARM64 在Linux上增强对。NET的支持 现代 持续的性能改进 开发效率的提高,如容器优先的工作流程 从同一代码库中构建移动和桌面应用程序 云原生应用程序的。NET Azure支持 内置容器支持 Orleans7 可观测性 更容易构建和部署分布式云原生应用 简洁性 通用数学 原始字符串 。NET库 在C11中编写更简单、更少的代码 为云原生应用程序改进HTTP3和MinimalAPI 业绩 栈上替换 配置引导优化(PGO) NativeAOT 大量的性能改进 由于有了标准期限支持,。NET7将在发布后的18个月内得到支持。 宣布。NET7中的ASP。NETCore。NET博客 https:devblogs。microsoft。comdotnetannouncingaspnetcoreindotnet7 在。NET7中宣布ASP。NET核心的文章。 这篇文章提供了以前关于新功能和变化的文章的链接集合。 。NET7。0中WindowsForms的新内容。NET博客 https:devblogs。microsoft。comdotnetwinformsenhancementsindotnet7 关于。NET7中WindowsForms的新功能和变化的文章。 可访问性的改进和修复 高DPI和缩放的改进 数据绑定的改进 COM包装器和NativeAOT 其他变化。 宣布。NETMAUIfor。NET7全面上市。NET博客 https:devblogs。microsoft。comdotnetdotnetmauidotnet7 适用于。NET7的。NETMAUI已被发布。 在。NET7中,包括地图控件,改进了移动端的渲染性能,并在桌面上进行了各种改进。 。NET7中WPF的新特性。NET博客 https:devblogs。microsoft。comdotnetwpfondotnet7 关于。NET7中WPF的新功能和变化的文章。 性能。 装箱拆箱 分配 杂项 无障碍设施 修复缺陷 升级基础设施 EntityFrameworkCore7(EF7)今天发布。NET博客 https:devblogs。microsoft。comdotnetannouncingef7 EntityFrameworkCore7(EF7)已经发布。 这篇文章重申了EntityFrameworkCore7的新功能和变化。 JSON列 使用LINQ进行JSON查询 使用SaveChanges更新JSON 其他JSON列 批量更新和删除 单行更新和删除 快速保存更改 删除不需要的事务 插入多行 每个具体类型的表(TPC)的继承映射 自定义数据库优先的模板 生成的实体类型的定制 自定义模型构建规则 删除规则 添加规则 用于添加、更新和删除的存储程序的映射 新的或改进的拦截器和事件 物质化拦截 延迟初始化的连接字符串 各种小的改进 EntityFrameworkCore7以。NET6为目标,可在。NET6(LTS)或。NET7中使用。 宣布F7。NET博客 https:devblogs。microsoft。comdotnetannouncingfsharp7 关于F7的公告,现在可用于。NET7。该文章介绍了以下特点。 支持接口的静态抽象成员 更容易使用SRTP 强制性财产检查 init范围和仅有的init属性 参考装配支持 F独立的部署和NativeAOT 欢迎来到C11。NET博客 https:devblogs。microsoft。comdotnetwelcometocsharp11 关于C11的公告,它现在可以在。NET7中使用。该文章介绍了以下特点。 UTF8字符串 原始字符串 对静态成员的抽象化 列表模式 必要成员 宣布NuGet6。4Signed,Central,DeliveredNuGet博客 https:devblogs。microsoft。comnugetannouncingnuget64signedcentraldelivered NuGet6。4已经发布。 NuGet6。4包含在VisualStudio2022和。NET7中,也可以作为一个独立的可执行文件下载。 这篇文章介绍了该版本所包括的以下方面 中央软件包管理现在可供操作使用。 用GlobalPackageReference在任何地方使用一个PackageReference 通过定义一个GlobalPackageReference将包添加到所有项目中 提高了VisualStudio所有标签中加载软件包的性能 NuGet签名包的验证 改进VisualStudio中的认证 NuGet。exe的本地化 VisualStudio202217。4现在可用! https:devblogs。microsoft。comvisualstudiovisualstudio2022174 VisualStudio2022的17。4版现在已经推出。 。NET7 C Arm64 回滚 企业支持 LTSC支持 来自WindowsUpdaetforBusiness的安全更新 通过VisualStudio管理模板的管理政策 删除不支持的组件 协作和团队 Arm64扩展和VisualStudio。Extensibility扩展模型 Git工具 发布多库支持 微软团队工具包 生态系统 生产力 选择匹配突出显示 音频提示 数据表可视化器 呼叫堆栈窗口中的异常堆栈框架 在测试资源管理器中清除和过滤测试结果 业绩 测试搜索的平行化 测试执行的有效并行化 优化VisualStudio和测试运行器进程之间的通信 Git分支切换 改进了文件保存响应 C索引 在文件中搜索和替换 语言服务设置切换优化 单元测试性能改进 关于Arm64支持和WindowsUpdateforBusiness的更新以及VisualStudio回滚的更多信息,请参见以下详细文章。 Arm64VisualStudio正式来了!博客〔3〕 将VisualStudio更新部署到注册在WindowsUpdateforBusiness中的设备上VisualStudio博客〔4〕 介绍VisualStudioRollback!博客〔5〕 最后,它还通知说,下一个版本的预览版,即VisualStudio202217。5Preview1,现在也可以使用。 支持Azure容器注册中心和Azure容器应用程序 支持SQLServer2022 对Markdown更深入的支持 用正则表达式设置标签颜色 新的快速添加项目体验 集成终端作为网络项目中的F5目标 与Windows认证代理集成,以改进登录方式 对SDK风格项目的过程中VSIX支持 VisualStudioforMac17。4现已发布VisualStudio博客 https:devblogs。microsoft。comvisualstudiovisualstudio174isnowavailable VisualStudio2022forMacv17。4已经发布。 该版本包括停靠窗口、用户界面改进,如字体和行距设置、调试器用户界面改进、MAUI以及对。NET7和C11的支持。 VisualStudio2022forMacv17。5Preview1也已推出,并被吹捧为在运行时更新到。NET7和改进字体支持。 宣布ML。NET2。0。NET博客 https:devblogs。microsoft。comdotnetannouncingmlnet20 ML。NET2。0和新版本的ModelBuilder已经发布。 模型生成器中的文本分类情景 句子相似性API 代码器支持 AutoML的改进 模型生成器的高级设置 Orleans7。0的新内容。NET博客 https:devblogs。microsoft。comdotnetwhatsnewinorleans7 Orleans7。0已经发布。 Orleans团队成为。NET团队的一部分,并与。NET7合作,将性能提高了150以上。文章讨论了性能的改进、开发经验的改善、简化识别Grain和Stream的方法等。 。NETConf2022YouTube https:www。youtube。complaylist?listPLdo4fOcmZ0oVlquV8EXUDDnPsYwemxjn 。NETConf2022的会议视频播放列表,包括。NET7的发布公告。 。NET信息泄露漏洞GHSA8g2p5pqh5jmcGitHub咨询数据库 https:github。comadvisoriesGHSA8g2p5pqh5jmc 在1。1。3和2。0。0至2。1。1版本的Microsoft。Data。SqlClient以及4。8。4版本的System。Data。SqlClient中发现信息泄露漏洞。 在高负荷下发生超时时,该漏洞可能会对异步执行的查询返回不正确的结果。 在Microsoft。Data。SqlClient的1。1。4或2。1。2和System。Data。SqlClient的4。8。5中已经修复,如果你使用此类软件包,需要进行更新。 。NET框架2022年11月安全和质量滚动更新。NET博客 https:devblogs。microsoft。comdotnetdotnetframeworknovember2022securityandqualityrollupupdates 。NET框架的2022年11月安全和质量累积更新已经发布。 该版本修复了一个与Microsoft。Data。SqlClient有关的漏洞(如上图)以及几个与WPF和运行时有关的缺陷。 。NET2022年11月更新。NET6。0。11和。NETCore3。1。31。NET博客 https:devblogs。microsoft。comdotnetnovember2022updates 。NET6。0。11和。NETCore3。1。31已经发布。 它包括几个错误和改进。这篇文章还重申了更新到。NET6的建议,因为。NETCore3。1将在今年12月13日停止支持(EOL)。 mysqlnetMySqlConnectorv2。2。0 https:github。commysqlnetMySqlConnectorreleasestag2。2。0 AsyncMySqlConnector2。2。0已经发布。 这个版本包括对。NET7的支持,取消了对。NET4。5的支持以及其他一些改进。 Cakev3。0。0 https:cakebuildnet。medium。comcakev300releasedb5555129a0f5 Cakev3。0。0已经发布。 该版本支持。NET7和C11、TaskOfT、多目标支持、构建提供者的改进、对插件所依赖的Cake。Core版本的3。0建议,以及其他一些改进和修复。 NuGet中央软件包管理来到JetBrainsRiderThe。NETToolsBlog https:blog。jetbrains。comdotnet20221107nugetcentralpackagemanagementcomestojetbrainsrider 宣布在Rider中支持NuGet的中央包管理。 你现在可以用Rider2022。3EAP和支持NuGet6。2或更高版本的SDK来试试。这篇文章展示了如何设置它以及中央包管理的一些提示。 Windows社区工具包实验室的实验在这里! https:devblogs。microsoft。comifdefwindowswindowscommunitytoolkitlabsexperimentsarehere 关于Windows社区工具包实验室的文章。 WindowsCommunityToolkitLabs是一个实验性实现的图书馆,然后才被纳入WindowsCommunityToolkit。文章介绍了诸如Rive播放器、配置卡和配置扩展器等控件,以及如何使用WCT实验室。 npgsqlnpgsqlv7。0。0 https:github。comnpgsqlnpgsqlreleasestagv7。0。0 Npgsql7。0。0已经发布。 NpgsqlDataSource,它实现了DbDataSource。 通过Microsoft。Extensions。Logging改进了日志记录。 支持逻辑复制协议版本3 一些破坏性的变化。 Azure静态Web应用程序现在完全支持。NET7Azure更新MicrosoftAzure https:azure。microsoft。comenusupdatesgenerallyavailableazurestaticwebappsnowfullysupportsnet7 现在Azure静态网络应用程序支持。NET7。 我们可以使用。NET7BlazorWebAssembly应用程序并使用。NET7Blazor构建Azure函数。 宣布。NET7forAzure函数隔离工作者进程MicrosoftCommunityHub https:techcommunity。microsoft。comt5appsonazureblogannouncingthenet7forazurefunctionsisolatedworkerprocessbap3671398 现在,AzureFunctions孤立的工作程序中已经支持。NET7。 。NET7GA可用于应用服务Azure应用服务 https:azure。github。ioAppService20221108dotnet7ga。html 现在AzureAppService上支持。NET7。 JetBrains。NETDaysGameDevDayOnline2022SessionRecordingsAvailableThe。NETToolsBlog https:blog。jetbrains。comdotnet20221110dotnetdaysgamedevdayonline2022recordings 10月下旬JetBrains的。NET和游戏开发在线活动的会议记录现在可以获得。 JetBrains。NETDaysOnline2022YouTube〔6〕 〔JetBrainsGameDevDayOnline2022YouTube〕( 文章、幻灯片等。C2022年活动日历Qiita https:qiita。comadventcalendar2022csharplang 齐塔公司2022年的C活动日历。 新版本的。NETSDK和VisualStudio更新tech。guitarrapc。cm https:tech。guitarrapc。comentry20221110004625 关于更新VisualStudio时如何处理。NETSDK的文章。 用。NET7在Linux上构建WPFtech。guitarrapc。cm https:tech。guitarrapc。comentry20221111031555 关于在Linux环境下用。NET7SDK构建WPF应用程序的文章。 Microsoft。CodeAnalysis。Analyzers在VisualStudio202217。4及以上版本中发出警告。 https:zenn。devmayukiarticlesc4728ae9cdef8e VisualStudio202217。4及以上版本中Microsoft。CodeAnalysis。Analyzers警告的原因和解决方法。 如何用C。NET使用DALLEAPI https:betterprogramming。pubcreateatexttoimagegeneratorusingdalleapiincnet7df58d940e79 一篇关于从。NET中调用DALLE的API来生成图像的文章。 使用C和VisualStudio的TeamsToolkit为MicrosoftTeams建立一个股票更新通知机器人 https:dev。tomicrosoft365buildastockupdatenotificationbotformicrosoftteamsusingcandteamstoolkitforvisualstudiomfl 关于如何使用VisualStudio的TeamsToolkit在C中实现股票更新通知机器人的文章。 Redis作为一个数据库的RedisOM https:medium。commarius。munteannredisasadatabasewithredisom2601a48b5c04 关于如何使用RedisOM将Redis当作数据库的文章。 redisredisomdotnet:Redis和。NET的对象映射,以及更多〔7〕 对ASP。NETCoreWebAPI进行版本管理Qiita https:qiita。comgushwellitems663538393baef926c4c4 关于如何使用Microsoft。AspNetCore。Mvc。Versioning进行API版本管理(如v1api,v2api等)的文章。 当我用AWSLambda从。NETCore3。1迁移到。NET6时我做了什么Qiita https:qiita。comkazmatsubaraitems7c3284dd6b38fe4489fb 文章介绍了我们在将AWSLambda的。NETCore3。1应用程序迁移到。NET6时的做法。 。NET7中关于认证和授权的新内容 https:auth0。comblogwhatsnewindotnet7forauthenticationandauthorization 文章总结了。NET7中认证和授权的变化和新功能。 使用ASP。NETCore应用程序的影子拷贝避免WebDeploy锁定IIS的错误 https:weblog。westwind。composts2022Nov07AvoidWebDeployLockingErrorstoIISwithShadowCopyforASPNETCoreApps 关于使用WebDeploy部署在IIS中运行的ASP。NETCore应用程序时如何避免文件锁定错误的文章。 这篇文章解释了如何启用影子复制(从。NET6开始就可以实验性地使用),以及如何进行WebDeploy。 开源库、资源库、工具等 mk3008SqModel:Selectquerybuilder https:github。commk3008SqModel 解析、处理和以其他方式重构SQL语句的库。 https:zenn。devmkmonakaarticles2e70c3c2354b45 推文 ASP。NETCore对绿色线程(虚拟线程Goroutine)的实验性支持 https:twitter。comdavidfowlstatus1589859605508943873?s20thoFWdpO1noqmq9Wg80r3Q DavidFowler大佬正在让。NET绿色线程(虚拟线程Goroutine)试验与Kestrel一起运行。这个东西很难展示,但这个调用堆栈让他非常高兴。 如下图所示,方法栈的入口已经变为了GreenThreadStartFunc。 。NET官方网站重新设计的故事 https:twitter。comdavidpine7status1589819551977701377?s12 尽管在WinForms中出现了一些able注解的编译错误,但从。NETv5。0到。NET7的编译在五分钟内就完成了 https:twitter。comrickbrewpdnstatus1590059027945631744?s12 ASP。NET核心框架堆栈图 https:twitter。comdavidfowlstatus1590165613506613248?s12 Akka。NET的故事在。NET7(启用PGO)的基准测试中更快。 https:twitter。comaarononthewebstatus1591474543339634691?s12 什么是用特定的分隔符拼接字符串的最快方法,请看。NET7 https:twitter。comDaveCallanIEstatus1591799079306203136 版权声明 国内板块由InCerry进行整理:https:github。comInCerryGitWeekRef。NETblobmasterinputzhCN202220221115。md 其余内容来自MyukiWeekRef,由InCerry翻译(已获得授权):https:github。commayukiWeekRef。NETblobmasterinput202220221115。md 由于笔者没有那么多时间对国内的一些文章进行整理,欢迎大家为《。NET周报国内文章》板块进行贡献,需要推广自己的文章或者框架、开源项目可以下方的项目地址提交Issue或者在我的微信公众号私信。 格式如下: 1050字左右的标题 对应文章或项目网址访问链接 200字以内的简介,如果太长会影响阅读体验 https:github。comInCerryGit。NETWeekly 参考资料 〔1〕 WPF:https:learn。microsoft。comzhcndotnetdesktopwpfoverview?viewnetdesktop6。0 〔2〕 Blazor:https:learn。microsoft。comzhcnaspnetcoreblazor?viewaspnetcore7。0 〔3〕 Arm64VisualStudio正式来了!博客:https:devblogs。microsoft。comvisualstudioarm64visualstudioisofficiallyhere 〔4〕 将VisualStudio更新部署到注册在WindowsUpdateforBusiness中的设备上VisualStudio博客:https:devblogs。microsoft。comvisualstudiodeployvisualstudioupdatestodevicesenrolledinwindowsupdateforbusiness 〔5〕 介绍VisualStudioRollback!博客:https:devblogs。microsoft。comvisualstudiointroducingvisualstudiorollback 〔6〕 JetBrains。NETDaysOnline2022YouTube:https:www。youtube。complaylist?listPLQ176FUIyIUbSS1HBVrqEyNHpfSh166KW 〔7〕 redisredisomdotnet:Redis和。NET的对象映射,以及更多:https:github。comredisredisomdotnet