自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dotNET跨平台

在这里你可以谈微软.NET;Mono的跨平台开发技术,也可以谈谈其他的跨平台技术.;;在这里可以让你的.NET项目有新的思路,不局限于微软的技术栈,横跨Windows,Linux主流平台

  • 博客(11450)
  • 收藏
  • 关注

转载 推荐一款 .NET 编写的 嵌入式平台的开源仿真器

Renode 是一个开发框架,通过让你模拟物理硬件系统来加速物联网和嵌入式系统开发。Renode 可以模拟 Cortex-M、RISC-V 等微控制器,不仅可以模拟 CPU指令,还可以模拟外设,甚至可以模拟板载的外设。更强的是,它可以让你在你的 PC 上运行、调试和测试未经修改的嵌入式软件-从裸机系统芯片,通过完整的设备到多节点系统。它广泛的网络支持和多系统仿真使它成为由多个设备组成的一个测试系统...

2022-11-27 08:00:37 1

转载 .Net 7的AOT原理简析

楔子上节了解AOT和CLR的区别,这节来稍微深入看下AOT的原理是什么?原理其实 AOT 的原理非常简单,为啥呢?因为微软又回归了传统,搞起来Obj目标文件和Link连接器。当年的VC++就是这么弄的。AOT的编译实际上是围绕这两个东西来的,编译目标文件Obj用的是微软的官方编译器IlCompiler它的工具名是:ilc.exe。而Link连接器,就是微软的VC连接器链接Obj以生成静态Exe。工...

2022-11-26 08:00:09 18

转载 ABP Framework 7.0 RC 新增功能简介

imageABP Framework 在架构上有四大目标:模块化、DDD、多租户和微服务。从7.0更新的功能来看,其侧重点转向微服务场景的实现,比如:Dapr 集成、动态权限和功能、外部本地化、分布式实体缓存服务,都是对微服务和分布式架构所提出的解决方案。ABP Framework 已然在成为优雅的 .NET 微服务基础设施道路上开始狂奔!欢迎加入ABP Framework 研习社,千人学习...

2022-11-26 08:00:09 10

转载 从 .NET 6 更新到 .NET 7

Upgrade from .NET 6 to .NET 7Intro.NET 7 已经发布了一段时间了,将几个服务升级到了 .NET 7,升级还是比较顺利的,也有遇到几个问题,分享一下TargetFramework首先我们需要将项目文件中的目标框架(TargetFramework)从 .NET 6 更新到 .NET 7,如果是类库项目可以考虑增加 .NET 7 的目标框架升级之后有一些 .NET ...

2022-11-26 08:00:09 9

转载 Blazor学习之旅 (6) 路由系统

【Blazor】|总结/Edison Zhou大家好,我是Edison。许久没有更新Blazor学习系列了,今天续更。Blazor 的路由系统就和 ASP.NET MVC的路由系统一样,可以为我们提供灵活的选项,可用于确保用户请求到达可处理它们并返回用户想要的信息的组件。本篇,我们来了解下在Blazor中的路由系统。使用路由模板在 Blazor 中,使用路由来确保将每个请求发送到最适合的组件,并...

2022-11-26 08:00:09 14

转载 ROS2 机器人操作系统入门和安装以及如何使用 .NET 进行开发

本文是 ROS2 入门的第一课,简单介绍了 ROS 系统,以及介绍 ROS2 系统在 Ubuntu 22.04 中的安装(使用 gitee 和清华源)以及其中错误的解决。最后对其优势进行总结,为什么选择 ROS。最后介绍简单 Demo 和如何使用 .NET 接入的其中一种方式。什么是 ROSROS(Robot Operating System,机器人操作系统,下文简称“ROS”)是一组软件库和工具...

2022-11-26 08:00:09 13

转载 MASA Framework 事件总线 - 跨进程事件总线

概述跨进程事件总线允许发布和订阅跨服务传输的消息, 服务的发布与订阅不在同一个进程中在MASA Framework中, 跨进程总线事件提供了一个可以被开箱即用的程序IntegrationEvents: 提供了发件箱模式(https://www.kamilgrzybek.com/design/the-outbox-pattern/)IntegrationEvents.Dapr: 借助Dapr(h...

2022-11-26 08:00:09 14

转载 微软宣布:PowerBI 已经与 Office 整合,一切更简单,变革又来了

很多人认为 Office 是 Office,PowerBI 是 PowerBI,怎么在 PPT 中显示 PowerBI 呢?这种问题以后将再不会存在。微软已经宣布,PowerBI 已经与 Office 深度整合,在未来的企业中,PowerBI 将与 Word,Excel,PPT 是完全一样的地位,完全普适化,只要 IT 点击一个按钮,所有人就可以自动化享受到一切。这就是企业数据文化。可以看到,一切...

2022-11-25 08:00:02 14

转载 Ant Design Blazor 发布 0.13.0,正式支持.NET 7!

时隔3个月,Ant Design Blazor 发布新功能版本0.13.0,并正式支持.NET 7!大家快去访问 antblazor.com 体验吧!???? 新增 .NET 7 目标框架支持。#2810 @ElderJames???? 重构 Mentions 组件,修复定位和隐藏问题。#2874 @dingyanwuDatePicker???? 新增 OnOk 事件。#2840 @Alexbits???? 修复 星期...

2022-11-25 08:00:02 10

转载 聊一聊如何截获 C# 程序产生的日志

一:背景 1.讲故事前段时间分析了一个dump,一顿操作之后,我希望用外力来阻止程序内部对某一个com组件的调用,对,就是想借助外力实现,如果用 windbg 的话,可以说非常轻松,但现实情况比较复杂,客户机没有windbg,也不想加入任何的手工配置,希望全自动化来处理。真的很无理哈。。。不过这种无理要求花点心思还是可以实现的,方法就是用代码将应用程序变成调试器 来实现自动化阻止,为了简化操作,我...

2022-11-25 08:00:02 6

转载 我开发的开源项目,让.NET7中的EFCore更轻松地使用强类型Id

在领域驱动设计(DDD)中,有一个非常重要的概念:“强类型Id”。使用强类型Id来做标识属性的类型会比用int、Guid等通用类型能带来更多的好处。比如有一个根据根据Id删除用户的方法的签名如下:voidRemoveById(longid);我们从方法的参数看不出来id代表什么含义,因此如果我们错误地把货物的id传递给这个方法,那么也是可以的。这样用long等通用类型来表示标识属性会让参数等的...

2022-11-25 08:00:02 10

转载 根据MediatR的Contract Messages自动生成Minimal WebApi接口

大家好,我是失业在家,正在找工作的博主Jerry。今天给大家介绍一个能大大减少ASP.Net Minimal WebApi编码量的方法。我们一般会把微服务的VO和DTO封装成消息类,并作为WebApi的Request和Response参数进行网络传递。如果使用MediatR,我们封装的消息类就要实现 MediatR Contract 接口 IRequest<> 或者INotificat...

2022-11-25 08:00:02 14

转载 国产数据助力金融行业维护信息安全

金融信息系统作为国家关键信息基础设施,直接关系到国家经济、社会的正常运行。长期以来,我国金融信息化依赖进口设备和系统,金融行业尤其是银行业被IBM、HP、甲骨文等外商捆绑较深,金融行业信息化设备的软硬件系统被外商垄断。这等于是我们的金融行业是由花钱雇来的外国雇佣兵在站岗放哨。这不仅需要花费巨额的外汇,更涉及到我国金融业的安全可控。近年来,金融业不断加大国产软硬件试点力度,国产CPU、国产数据库已经...

2022-11-25 08:00:02 40

转载 微服务和分布式系统中的授权解决方案

本文是《精读 Mastering ABP Framework》2.3 探索横切关注点 - 使用授权和权限系统一节的扩充内容,重点探讨了授权在分布式和微服务系统中遇到的挑战,以及 ABP Framework 中采用的解决方案。认证 & 授权•认证(Authentication):确认用户身份•授权(Authorization):授予用户访问资源的权限关于认证和授权的基础内容,可回顾...

2022-11-25 08:00:02 14

转载 【译】Dapr 是一个“10倍好”平台 !?

译者注在正式阅读本文之前,我们有必要先了解下什么是“10 倍好”。10 倍好理论最早出自彼得·蒂尔的《从 0 到 1》,他说一个新创企业,要想获得快速成长,其提供的解决方案要比现有方案好 10 倍以上,这个好 10 倍,可以是成本低 10 倍,效能强 10 倍,或易用性优 10 倍。为什么 3 倍 5 倍不行,要好 10 倍呢?因为:消费者会高估已有解决方案 3 倍以上,创业者会高估自己方案 3 ...

2022-11-24 08:00:24 6

转载 在 EF Core 7 中实现强类型 ID

本文主要介绍 DDD 中的强类型 ID 的概念,及其在 EF 7 中的实现,以及使用 LessCode.EFCore.StronglyTypedId 这种更简易的上手方式。背景在杨中科老师 B 站的.Net Core 视频教程[1]其中 DDD 部分讲到了强类型 ID(Strongly-typed-id)的概念,也叫受保护的密钥(guarded keys)当时在 .NET 中的 DDD 实现是个悬...

2022-11-24 08:00:24 15

转载 如何实现 WPF 代码查看器控件

如何实现 WPF 代码查看器控件CodeViewer作者:WPFDevelopersOrg - 驚鏵原文链接[1]:https://github.com/WPFDevelopersOrg/WPFDevelopers框架使用.NET40;Visual Studio 2019;代码展示需要使用到AvalonEdit是基于WPF的代码显示控件,项目地址[2],支持C#,javascript,C++,...

2022-11-24 08:00:24 10

转载 基于.NET 7 的 WebTransport 实现双向通信

Web Transport 简介WebTransport是一个新的 Web API,使用HTTP/3协议来支持双向传输。它用于 Web 客户端和 HTTP/3 服务器之间的双向通信。它支持通过 不可靠的 Datagrams API 发送数据,也支持可靠的 Stream API 发送数据。因为 HTTP/3 使用了基于 UDP 的 QUIC 协议,所以 Web Transport 可以在一个连...

2022-11-24 08:00:24 14

转载 发布适用于 .NET 7 的 .NET MAUI

点击上方蓝字关注我们(本文阅读时间:6分钟)我们在六个月前向您介绍了 .NET 多平台应用程序 UI (MAUI),现在我们很高兴地宣布 .NET MAUI 在我们的下一个主要版本 .NET 7 中普遍可用。在此短的时间范围内,我们在 .NET MAUI 中的主要工作是解决您的主要反馈报告、改进CollectionView 的性能,并引入了桌面功能,我们将您的范围从移动设备扩展到桌面设备。此版本...

2022-11-24 08:00:24 12

转载 kotlin的suspend对比csharp的async&await

协程的出现大大降低了异步编程的复杂度,可以让我们像写同步代码一样去写异步代码,如果没有它,那么很多异步的代码都是需要靠回调函数来一层层嵌套,这个在我之前的一篇有介绍 rxjava回调地狱-kotlin协程来帮忙本篇文章主要介绍kotlin的suspend函数在编译生成了怎样的代码csharp的async&await在编译生成了怎么样的代码这两者相比较,引发怎样的思考kotlin的suspe...

2022-11-24 08:00:24 11

转载 使用 C# 开发的摸鱼背单词软件 ToastFish

你好,这里是 Dotnet 工具箱,定期分享 Dotnet 有趣,实用的工具和组件,希望对您有用!摸鱼神器ToastFish是一个使用 C# 开发的桌面软件,由 Uahh 开发, 这是一个利用Windows通知栏背单词的软件,可以让你在上班、上课等恶劣环境下安全隐蔽地背单词,可以说是打工人的摸鱼神器。和一般的背单词软件不一样,ToastFish的主要操作都是在 Windows 的通知栏完成的,...

2022-11-24 08:00:24 17

转载 .NET周报【11月第3期 2022-11-22】

国内文章.NET Conf China 2022 第一批讲师阵容大揭秘!整个期待了!https://mp.weixin.qq.com/s/4p89hhBPw6qv-0OB_T_TOg目光看过来 2022 年 12 月 3-4 日,一场社区性质的国内规模最大的 线上线下.NET Conf 2022 技术大会 即将盛大开幕。目前大会正紧锣密鼓地进行中,第一批大咖讲师及主题已确定,小编迫不及待想和大家分...

2022-11-24 08:00:24 11

转载 Net程序员为什么要学点其他语言副业

最近看了很多同行的文章、或者是现实中身边的例子也好,真的觉得大家太不容易了。感觉说的就是自己。入门上学的时候接触了.NET,它的简单以及宇宙无敌的Visual Studio,让我深深地迷恋上它。毕业之后,就成功的做来一名.Neter,成为了一个码农,走上了一条码代码的不归路。C#的语法真的是太优雅,它的编程效率真的很高。也许,它的强处,也被别人看成了弱处,让人误解为.Neter都是只会拖控件的。市...

2022-11-23 08:00:07 8

转载 用最少的代码模拟gRPC四种消息交换模式

我们知道,建立在HTTP2/3之上的gRPC具有四种基本的通信模式或者消息交换模式(MEP: Message Exchange Pattern),即Unary、Server Stream、Client Stream和Bidirectional Stream。本篇文章通过4个简单的实例演示它们在.NET平台上的实现原理,源代码从这里查看。目录一、定义ProtoBuf消息二、请求/响应的读写三、Una...

2022-11-23 08:00:07 11

转载 .NET7发布,一大批优秀.NET6项目没人看了吗...(都是好项目)

恍惚间都已经.NET7.0了,不能再呆在旧版本了!这里分享一套Vue3 + Axios + TS + Vite + Element Plus + .NET 6 WebAPI + JWT + SqlSugar的通用管理后台,各种最新框架组件,学习必备!这里把源码、脚本以及专门录制的视频教程都打包放在百度网盘,下图扫码(或加微信zhaoxi005)进群即可领取。扫码即可免费获取添加微信 zhaoxi0...

2022-11-23 08:00:07 9

转载 .NET性能优化-使用内存+磁盘混合缓存

我们回顾一下上一篇文章中的内容,有一个朋友问我这样一个问题:我的业务依赖一些数据,因为数据库访问慢,我把它放在 Redis 里面,不过还是太慢了,有什么其它的方案吗?其实这个问题比较简单的是吧?Redis 其实属于网络存储,我对照下面的这个表格,可以很容易的得出结论,既然网络存储的速度慢,那我们就可以使用内存 RAM 存储,把放 Redis 里面的数据给放内存里面就好了。操作速度执行指令1/1,0...

2022-11-23 08:00:07 13

转载 .NET 7 的 AOT 到底能不能杠反编译?

一:背景 1.讲故事在B站,公众号上发了一篇 AOT 的文章后,没想到反响还是挺大的,都称赞这个东西能抗反编译,可以让破解难度极大提高,可能有很多朋友对逆向不了解,以为用 ILSpy,Reflector,DnSpy 这些工具打不开就觉得很安全,其实不然,在 OllyDbg,IDA,WinDBG 这些逆向工具面前一样是裸奔。既然大家都很感兴趣,那这篇就和大家聊一聊。二:几个例子 1. 动态修改程序数...

2022-11-23 08:00:07 9

转载 从三层架构说起,谈谈对历史项目的小改造

web development项目背景说明最近接手一个 “老” 项目的需求修改,项目整体基于.net core 3.1平台,以传统的三层架构为基础构建。了解需求后,逐步对原有项目框架进行大概的了解,主要是熟悉一些框架的开发规范,基本工具类库的使用,然后尝试修改业务需求以达到客户方的要求。刚开始了解业务需求,先大概的了解了一些直观可视化的界面操作和基本菜单目录结构,此时还没来得及看项目框架代码,...

2022-11-23 08:00:07 6

转载 C#并行编程-Task

什么是异步同步和异步主要用于修饰方法。当一个方法被调用时,调用者需要等待该方法执行完毕并返回才能继续执行,我们称这个方法是同步方法;当一个方法被调用时立即返回,并获取一个线程执行该方法内部的业务,调用者不用等待该方法执行完毕,我们称这个方法为异步方法。异步的好处在于非阻塞(调用线程不会暂停执行去等待子线程完成),因此我们把一些不需要立即使用结果、较耗时的任务设为异步执行,可以提高程序的运行效率。n...

2022-11-23 08:00:07 22

转载 工业互联网平台实现路径

我国工业互联网平台建设虽然仍处于产业培育期,但是工业互联网平台也得到了初期的快速发展,得益于平台企业的积极投入和各地工业和信息化主管部门的大力推动,从平台建设推广的经验来看,下面谈一下个人认为传统制造企业平台战略比较可行的的实施路径,欢迎各位朋友批评指正讨论。1、数字化车间 纵向集成,指企业综合业务落地到生产运行的管理,涉及数字化系统有ERP、MOM、MES、SCADA、WM...

2022-11-23 08:00:07 7

转载 Swagger UI 仅为用户暴露已授权终结点

前言当需要在生产环境中提供 Swagger UI 时,我们可以通过身份验证,控制只有授权用户才能访问 Swagger UI 页面。但是我们希望更进一步,每个用户只能看到授权给他的终结点,而不会暴露其他未授权终结点信息。比如, API 提供了方法 A 和 方法 B,而对于用户 zhangsan 来说,他在 Swagger UI 页面只能看到方法 A 的说明,而不会知道方法 B 的存在。思路Swagg...

2022-11-22 08:00:27 18

转载 dotNET 7:最小 API 使用

最小 API 并不是在 .NET 7 中才加入的,记得应该是在 .NET 6 中就已经提供,只是对我来说,到现在才开始使用。创建一个最小 API在 VS 2022 中创建 WebAPI 项目,不勾选使用控制器,创建出来的就是最小 API :不勾选使用控制器,就会创建最小 API 模板;启用 OpenAPI ,默认会添加 Swagger;顶级语句:顶级语句是 C# 9.0 中添加的新特性,如果勾选不...

2022-11-22 08:00:27 11

转载 95后沪漂女孩深陷“狠”且“卷”职场,向上思维,永不过时!

hi,这里是桑小榆。最近和一个伙伴oncall了很久,对我的文章以及思想转变产生了很大的共鸣,她向我分享了一些职场经历还有成长经历等,她的这些经历也让我引发了一定的思考。光光,最近刚升任了部门主管,对于当前的工作状态以及同事之间的分氛围也产生了很大的波动。光光的儿时经历并不幸福,她是一个留守儿童,由爷爷奶奶带大。她的个性中带有不少叛逆,与此同时,父母也给她带来了一些伤害,这使得她内心总是缺少安全感...

2022-11-22 08:00:27 20

转载 你认识的C# foreach语法糖,真的是全部吗?

本文的知识点其实由golang知名的for循环陷阱发散而来,对应到我的主力语言C#, 其实牵涉到闭包、foreach。为了便于理解,我重新组织了语言,以倒叙结构行文。先给大家提炼出一个C#题:观察for、foreach闭包的差异左边输出 5个5;右边输出0,1,2,3,4, 答对的、不屑看题的同学都可以出门右转了。闭包是在词法环境中捕获自由变量的头等函数, 题中关键是捕获的自由变...

2022-11-22 08:00:27 6

转载 .NET跨平台框架选择之一 - Avalonia UI

本文阅读目录1. Avalonia UI简介Avalonia UI文档教程:https://docs.avaloniaui.net/docs/getting-started随着跨平台越来越流行,.NET支持跨平台至今也有十几年的光景了(Mono[1]开始)。但是目前基于.NET[2]的跨平台,大多数还是在使用B/S架构的跨平台[3]上;至于C/S架构,大部分人可能会选择Qt进行开发,或者很早之前还...

2022-11-22 08:00:27 10

转载 BeetleX之ServerBuilder对象使用

ServerBuilder是BeetleX新版本添加对象,用于进一步简化TCP服务的构建。ServerBuilder对象提供两个泛型版本:一个是针对网络数据流操作,另一个则针对协议解释器的对象处理操作。网络数据流当需要解释简单的网络数据流时使用ServerBuilder<APPLIATION, SESSION>类,类带有两个泛参:APPLIATION用于描述一个全局的对...

2022-11-22 08:00:27 9

转载 元宇宙、数字孪生和企业NFT

昨天参加了华为云上海开发者日活动,并客串主持了一场"元宇宙技术创新和商业实践之路"的闭门研讨会。研讨会上大家讨论热烈,干货多多,大家提到元宇宙的企业级前景、数字藏品和数字人案例的亲身体会。在会上盆盆分享了自己关于企业级NFT,而最近正好做了一个元宇宙、数字孪生和企业NFT的短视频,并添加了字幕。昨天的闭门会议里交流了有关数字孪生的内容,我有一些自己的个人看法,由于身兼主持人,所以难以展开,所以在此...

2022-11-22 08:00:27 13

转载 这个WPF的企业级MES项目爆火,就是UI争议大!

工业4.0时代,智能智造MES系统大行其道,然而基于.NET跨平台的罕见!这里有一套《.NET6+WPF企业级MES实战》教程,基于.NET6跨平台开发,实现了MES多核心功能,尤其是开发框架完整,非常适合复用。这里分享给大家,下图扫码(或加微信zhaoxi066)进群即可领取,仅供学习使用,看完请删除!扫码添加即可免费领取添加微信 zhaoxi066也可MES系统的业务是非常复杂的,各种物料管理...

2022-11-22 08:00:27 12

转载 聊一聊 WPF 程序的键盘是如何被窃听的?

一:背景 1.讲故事前几天群里很热闹,看了下在争论两个问题:电脑里要不要装杀毒软件 ?应该装什么杀毒软件 ?不管杀毒软件流氓不流氓,在如今病毒肆虐的当下互联网,装一个还是能帮我们拦截很多意想不到的东西,为了眼见为实,这一篇我们就聊一个窃听 键盘事件 的恶意代码。2. 思路实现思路非常简单,一旦某个程序触发了键盘事件,就给目标程序注入一个 dll,在这个 dll 中来实现窃听的业务逻辑,简而言之就是...

2022-11-21 08:00:31 5

转载 【赏析】.NET跨平台框架-Avalonia UI

这是Avalonia UI官方的一个Demo,站长对部分Nuget包进行了升级,网友【小飞机MLA】对Linux版本修复了字体Bug得以正常运行、演示:Windows 11:macOS 13:可安装Rider(EAP即要)开发,站长一次性直接编译运行(站长使用的.NET 7),调试过于顺畅...国产麒麟V10操作系统:站长安装麒麟OS折腾了一会儿,文件传输又不熟悉,运行命令也不熟(执行程序设置运行...

2022-11-21 08:00:31 7

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除