将 .NET Framework 转换为 .NET Core:您应该知道的步骤和要点

自从 2016 年 6 月 27 日微软首次推出 .NET Core 时,它​​立即在软件开发人员中流行起来。如今,55% 的开发人员更喜欢它而不是 .NET Framework,因为它可以更轻松地构建可以跨平台部署的软件多种环境。

但是,与任何技术变革一样,将现有应用程序从 .NET Framework 迁移到 .NET Core 可能会非常艰巨。虽然这可能是有益的原因有很多,但在冒险之前,您应该彻底了解迁移所涉及的内容。

在这篇文章中,我们将讨论如何将 .NET Framework 转换为 .NET Core,以及在此过程中应注意的事项。

为什么从.NET Framewo[……]

继续阅读

我应该为 C# 或 .NET 构建分析器吗?

编辑:与下面帖子的结论不同,我将分析器基于 C# CaaS 而不是 .NET IL。它现在可以使用

https://devsnicket.com/eunice/#csharp。后者不保留 dll 或 pdb 中类成员的顺序。虽然,在查看了一些开源 C# 项目之后,

默认情况下并未使用此功能。

我一直在开发的名为 Eunice的软件开发工具是 从 JavaScript 分析开始的。它旨在支持多个可互换的分析仪,重复使用该工具的测量、图形和交互式组件。这些其他组件也是用 JavaScript 编写的,因此它们是跨平台的。在开发的早期阶段,我认为遵循dogfoo[……]

继续阅读

使用 .Net、JS、HTML 和 CSS 构建电子应用程序

.NET 有两大桌面技术。它们是 WinForms 和 WPF。但是我们生活在一个 WEB 世界中,我们有很多工具可以使用 CSS 和 JavaScript 创建出色的 UI。那么我们如何在 .NET 桌面应用程序中使用 HTML、CSS 和 JavaScript 呢?

欢迎欢迎,Electron.NET。

我们在 Electron 中托管 .NET。Electron 启动 .NET 和我们在渲染器进程中的视图。然后它看起来像一个普通的 .NET 应用程序。您可以向 .NET 主机发送请求并获得响应。

用法

安装 Nugget 包

.NET 进程由 Kes[……]

继续阅读

.Net 开发人员的 5 个性能提示

大家好!今天我想和大家分享一些 .Net 5 性能技巧与基准测试!

我的系统:

  • BenchmarkDotNet=v0.13.0, OS=Windows 10.0.19042.985 (20H2/October2020Update)
  • Intel Core i7-9750H CPU 2.60GHz,1 个 CPU,12 个逻辑内核和 6 个物理内核
  • .NET SDK=5.0.104

我将以 100% 是最快结果的百分比提供基准测试结果。

1.用于连接的StringBuilder

您可能知道,字符串是不可变的。因此,每当您连接字符串时,都会分配一个新的字符串对象,填充内容,[……]

继续阅读

.NET Core 配置很简单

如果您使用 .NET Core 编写代码,总有一天,您将不得不配置您的应用程序。

Microsoft在这里有很棒的文档。

我想与您分享编写普通应用程序真正需要的东西。我将使用 .NET Core 5。假设我们要创建一个简单的 Web API 项目。首先,您必须了解配置本身是由IConfiguration接口呈现的:

知道IConfiguration的实例已经注入Startup.cs文件是很有用的,您可以使用Configuration属性访问整个配置:

简单的例子

如果您需要连接字符串,这可能会正常工作。让我们使用appsetting.json文件,它是 .[……]

继续阅读

从 .NET5 迁移到 .NET 6 后测量性能

本文是该系列的续篇(从 .NET Core 2.2 迁移到 .NET Core 3.1和如何将项目从 ASP.NET MVC 迁移到 ASP.NET Core) 关于升级 nopCommerce 项目 – 一个免费的 .net 电子商务 CMS,带有用于创建在线商店的开源代码。我们将讨论为什么我们不断努力升级我们的应用程序平台。在这里,我们将告诉您迁移到 .NET 6 在性能方面取得的成就,并尝试对我们的结果进行实际评估。

迁移的原因

监控 nopCommerce 升级的人都知道,我们尽最大努力尽快升级应用程序核心。.NET Core 平台中反映的不断发展的 Microsoft 技[……]

继续阅读

了解如何以最少的努力使 Java 类更加一致

纵观我的经验,绝大多数 Java 数据类都是按照我的许多同事(包括我自己)编写的方式编写的。数百小时的人力来修复那些愚蠢到根本不应该存在的错误。有时它是臭名昭著的 NullPointerExceptions,有时它们与一致性有关——部分彼此之间的均匀协议。

这是关于可靠和一致对象的两个中的第一个。在这里,我将向您展示潜在的解决方案,而不需要一些复杂的东西,例如不变性,只是一个有助于避免这种痛苦的秘诀,而无需重新考虑编写对象的各个方面。

问题

如果我们制作一个简单的可序列化对象,它非常简单,根本不需要修改,在业务逻辑中没有任何意义,我们就没有问题。但是,例如,如果您制作数据库表[……]

继续阅读

在生产环境中调试 Java 集合框架问题

在语言本身之外,集合是 Java 应用程序最基本的构建块。我们如何公开它们以进行调试?

目录

  • 本地调试很容易
  • 集合元素的擦除
  • 绕过配额限制
    • 什么是配额?
    • 使用快照
    • 使用大小和相关方法
    • 记录单个条目
  • 准备
    • 包含正确的 toString 方法
  • 概括

当 Java 集合框架作为 Java 2 (JDK 1.2) 的一部分引入时,它是一个巨大的飞跃。多亏了包含的集合类,我们终于超越了限制,Vector并Hashtable采用了更成熟和通用的解决方案。随着 Java 8 中流和函数概念的引入,该框架将一切提升到了一个新的水平。

该框架的核心原则之一是对接口进行编码。因此,您将使用 List 接口或[……]

继续阅读

学习如何在 Java 中使用不可变和可变的对象

在编写复杂的项目时,培养良好的代码文化至关重要。使用不可变和一致的对象是最重要的对象之一。

您可以忽略这一点并将复杂对象编写为标准对象,但当项目足够大时,它将成为错误的重要来源。

在我之前的文章中,我展示了如何提高标准对象的一致性和可靠性。简单来说:

  • 设置值时添加验证
  • 用于java.util.Optional每个可为空的字段
  • 将复杂的突变放置在适当的位置 – 到负责的类本身。

但这些行动不足以制造完全可靠的物体。在本文中,我将展示如何使对象成为不可变对象,并使它们雄辩而有效。

问题

如果我们使用默认构造函数/getters/setters 创建一个简单的可序列化[……]

继续阅读

JavaScript 成为编程语言的 6 个原因

尽管名称可能令人困惑,但 JavaScript 并不是 Java 的脚本语言。JavaScript 通常被认为是在您的 Web 浏览器中构建应用程序的工具,它是一种通用语言,提供了许多可能性:前端、后端等等……这方面经常被忽视,我们将让您发现为什么 JavaScript 也可以被视为一种语言选择设计您的维护和服务器管理脚本,使其成为通用脚本语言。

原因 #1:因为你已经知道这种语言

与 Ruby 或 Bash 等其他专用脚本语言不同,大多数开发人员至少对 JavaScript 了解甚少。事实上,任何涉足网络编程的人都已经使用过这种语言。如果您使用 JavaScript 编写维护脚本[……]

继续阅读