天天看点

你听我说-HandyControl源码编译

很荣幸小伙伴能看到这篇文章,这里是

HandyControl

在github上的传送门,同时附送一份基础的官方控件使用说明文档-github或者使用说明文档-码云,官方文档首页也是源码编译的基础引导,此文章算是对此的细化和补充

如果没有阅读

HandyControl新手引导-CSDN

或者

HandyControl新手引导-博客园

话不多说,开始进行本篇博客的重点,通过源码编译

HandyControl官方案例

你听我说-HandyControl源码编译

下载源码项目

下载地址,途径如下:

所属平台 下载链接
Github[git] https://github.com/HandyOrg/HandyControl.git
Gitee[git] https://gitee.com/handyorg/HandyControl.git
Github[zip] https://github.com/HandyOrg/HandyControl/archive/refs/heads/master.zip
Gitee[zip] https://gitee.com/handyorg/HandyControl/repository/archive/master.zip

根据实际情况,选择是通过

Github

还是

Gitee

进行源码下载

当然本地需要安装

git

,用于克隆项目源码,压缩包方式下载也行,总之本地得有一份

新鲜

的源码项目

方式一、克隆

选择一个本地目录,

cmd

指令中进行

git

克隆,此处以

Gitee

为例

>git clone https://gitee.com/handyorg/HandyControl.git
Cloning into 'HandyControl'...
remote: Enumerating objects: 487, done.
remote: Counting objects: 100% (487/487), done.
remote: Compressing objects: 100% (304/304), done.
remote: Total 24957 (delta 314), reused 285 (delta 183), pack-reused 24470
Receiving objects: 100% (24957/24957), 49.44 MiB | 4.07 MiB/s, done.
Resolving deltas: 100% (17202/17202), done.           

克隆完成后,打开目录

HandyControl

你听我说-HandyControl源码编译

方式二、下载

直接下载,此处以

Gitee

为例,本地下载文件为

handyorg-HandyControl-master.zip

,解压目录如下:

你听我说-HandyControl源码编译

编译项目

环境要求

由于项目本身是在

.Net5 SDK

的本地环境下开发,所以需要小伙伴本地已经安装

.Net5 SDK

Visual Studio 2019 16.x

版本,否则项目将出现如下状况:

你听我说-HandyControl源码编译

打开目录

src

中,启动解决方案

HandyControl.sln

,启动项目,初次加载会比较缓慢,需要依据项目中的包依赖,自动下载

Nuget

包到本地的包缓存目录,请耐心等待几分钟

项目结构

你听我说-HandyControl源码编译

Net_40

文件夹下代表着支持

Net Fx4.0

的相关案例和程序集,

HandyControlDemo_Net_40

是对应的

4.0

的启动项目入口,本地需要安装

.Net Framework4.0

Net_GE45

文件夹针对

.Net版本

大于等于

4.5

,同理,包含Demo字样的项目为4.5版本本身及其以上的

Fx

版本、

Core版本

以及

Net5

Shared

文件目录下的项目是

Net_40

Net_GE45

共同的依赖的相关

共享项目源码

辅助项目

源码编译

调整版本

由于项目几乎包含了从

Fx4.0

开始的所有

Framework

版本,

Core

Net

版本,所有项目中的依赖项会比较多,编译源码项目,需要将当前并不需要的版本通过人工编辑项目

.csproj

内容方式进行处理,如果直接调试或者运行,是不会成功的,只会调试失败,提示本地缺少

Framework

某些版本未安装

需要编辑的项目如下:

你听我说-HandyControl源码编译

带黄色小感叹

不要慌,先截个图发个朋友圈

,这其实是,本地缺少对应版本的

framework

的正常现象,双击项目本身,一般会看到如下内容:

原始

<PropertyGroup>
    .......
  <TargetFrameworks>netcoreapp3.0;netcoreapp3.1;net45;net451;net452;net46;net461;net462;net47;net471;net472;net48;net5.0-windows</TargetFrameworks>
    .......
</PropertyGroup>           

删除后

<PropertyGroup>
    .......
  <TargetFrameworks>netcoreapp3.0;netcoreapp3.1;net45;net451;net452;net46;net461;net462;net471;net472;net48;net5.0-windows</TargetFrameworks>
    .......
</PropertyGroup>           

将上图项目中的内容进行修改,删除

&lt;TargetFrameworks&gt;&lt;/TargetFrameworks&gt;

节点内本地不需要或者缺少的版本,本地需要的皆可以保留,此处作为演示,仅仅删除

net471

,记住一定是上图截图部分的所有项目,

删除后

重新生成项目

重新生成解决方案

,可以发现依赖项中的黄色感叹号已经消失

你听我说-HandyControl源码编译

运行案例

选择目标的项目

HandyControlDemo_Net_GE45

HandyControlDemo_Net40

运行项目,

Debug

调试运行即可

你听我说-HandyControl源码编译

运行期间会添加注册表,为正常现象,选择允许,至此,案例项目就可以正常运行

你听我说-HandyControl源码编译

本地生成类库包

选择模式为

Release

发布模式,重新生成项目,即可在项目中``

你听我说-HandyControl源码编译

输出窗口

内容如下:

你听我说-HandyControl源码编译

去到对应目录可以看到相关生成的

Release

版本类库程序集

你听我说-HandyControl源码编译

注意

继续阅读