C#反编译调试编辑工具dnSpy介绍及使用

dnSpy简介

dnSpy是一款免费、开源的.NET反编译器,即使你没有源代码,也可以使用它来编辑和调试程序集。

dnSpy是从ILSpy派生出来。

ILSpy 是为了完全替代收费的Reflector而生,它是由 iCSharpCode 团队出品,这个团队开发了著名的 SharpDevelop 。ILSpy 完全开源,ILSpy的使用和Reflector(收费的.NET反编译器)完全类似,直接把dll、exe拖放到左侧,或者文件选择打开。

dnSpy下载地址:
https://github.com/dnSpy/dnSpy/releases

Vue数组更新后,页面上没有动态刷新问题

前言
Vue数组更新后,页面上没有动态刷新问题,在看这个问题之前,我们首先来了解下Vue数据响应式的原理。

Vue数据响应式的原理:
通过ES5的保护对象的Object.defineProperty中的访问器属性中的get和set方法,data中声明的属性都被添加了访问器属性,当读取data中的数据时,自动调用get方法;当修改data中的数据时,自动调用set方法。检测到数据变化,会通知观察者,观察者自动触发重新渲染组件。

开发中发现,通过数组索引赋值时,数据更新了,但视图并未刷新,还是显示的旧的值。

即通过以下索引方式赋值:

result[0][0] = 1;

Vue项目访问路径加统一前缀

如果多个项目要发布至同一个域名下,或Vue项目要加项目名访问时,则可以通过域名后加统一前缀来区分及路由至指定的服务,例如同一域名下:
站点A:https://www.abc.com
站点B:https://www.abc.com/bbb
站点B-接口API:https://www.abc.com/bbb/api

Vue项目访问路径加统一前缀步骤:
(1)给静态资源加前缀
vue.config.js文件 新增属性:publicPath: "/business-admin/"

例如下所示(生产环境加/admin/前缀,否则不加):

module.exports = {
  // 如果你的应用被部署在 https://www.xxx.com/admin/,则设置publicPath为 /admin/
  publicPath: process.env.NODE_ENV === "production" ? "/admin/" : "/",
  // build生成文件的目录名称(默认dist)
  outputDir: 'dist',
  // 用于放置生成的静态资源 (js、css、img、fonts) 
  assetsDir: 'static',
  ...
}

官方参考文档:
https://cli.vuejs.org/zh/config/#publicpath

C#创建winform应用程序示例

本文主要讲述C#创建winform应用程序,并以用户登录为例说明。

开发环境:Visual Studio 2019
.NET环境:.NET Framework 4.6.1

创建项目

创建WindowsFormsApp2窗体应用

(1)第一步:打开Visual Studio创建新项目,选择Windows窗体应用(.NET Framework),然后点击“下一步”;如下图示:

Maven常用命令梳理

mvn clean 删除编译的目录和文件

mvn compile 编译源代码

mvn test 运行测试

mvn package 本地打包

mvn install 本地打包 --> 将打好的包更新至本地Maven仓库

mvn deploy 本地打包 --> 将打好的包更新至本地Maven仓库 --> 上传至Maven私服