WPF 框架全构建环境虚拟机硬盘分享

现在 WPF 完全开源了,咱可以构建自己私有的版本。我分享一个虚拟机硬盘给你,只要你下载下来,通过 VMWare 导入,即可无需任何配置,拿到一个能构建 WPF 官方源代码的全构建环境。可以用来只做你的定制版的 WPF 框架

现在 WPF 完全开源,但是构建的过程中需要用到很多工具,这些工具和 VS 环境相对来说需要一段时间才能拉下来,再加上每个小伙伴有趣的定制,也许会忘记安装复杂的 C++ 环境。因此我就拜托了太子帮我做一个虚拟机,我在虚拟机里面添加了 WPF 框架的全构建环境,同时构建 WPF 源代码通过之后,将硬盘保存起来,只需要 VMWare 导入此硬盘即可拿到全构建环境

百度网盘链接

链接:https://pan.baidu.com/s/1_p5xdtG1wayI7tzqGfCL2w

提取码:gk99

如果百度下载太慢,可以尝试开启 P2P 模式:

或者可以尝试使用磁力链接1 或 磁力链接2 用 BT 软件下载

在 VMWare 最新版本,版本最低是 15.5 版本,导入虚拟机硬盘,然后启动虚拟机。此时将会打开一个 win10 系统,这个系统里面将包含社区版的 VS 以及构建 WPF 需要的工具包。如需独立下载 WPF 构建套件,请点击 WPF 构建套件 .tools 3.1.7z 下载完成之后解压缩文件到 WPF 仓库的 .tools 文件夹里面

这个系统的用户名是 dotnet-wpf 密码是 wpf 进入之后,里面仅有 WPF 源代码和构建环境

完全的 WPF 仓库放在 C:\Code\WPF 这个仓库已经构建通过

构建命令是 build.cmd -pack -ci -configuration Release -prepareMachine /p:Platform=x86 在 artifacts\packages\Release 文件夹可以找到构建完成输出文件

附磁力链接地址,如第一个用户找不到,可以添加 torrent.walterlv.com:36690 用户

// 磁力链接1 纯硬盘文件 58G 文件magnet:?xt=urn:btih:6B489EEDA460298F10498D13C48D9B46FE175F1D&dn=Windows_10_x64_for_WPF&tr=http%3a%2f%2ftorrent.walterlv.com%3a36690%2fannounce&tr=udp%3a%2f%2ftracker.opentrackr.org%3a1337%2fannounce&tr=http%3a%2f%2fp4p.arenabg.com%3a1337%2fannounce&tr=http%3a%2f%2ftracker3.itzmx.com%3a6961%2fannounce&tr=http%3a%2f%2ftracker1.itzmx.com%3a8080%2fannounce&tr=http%3a%2f%2ftracker.zerobytes.xyz%3a1337%2fannounce&tr=http%3a%2f%2ftracker.nyap2p.com%3a8080%2fannounce&tr=http%3a%2f%2fopentracker.i2p.rocks%3a6969%2fannounce&tr=http%3a%2f%2fh4.trakx.nibba.trade%3a80%2fannounce&tr=udp%3a%2f%2fexplodie.org%3a6969%2fannounce&tr=http%3a%2f%2fvps02.net.orel.ru%3a80%2fannounce&tr=http%3a%2f%2ftrun.tom.ru%3a80%2fannounce&tr=http%3a%2f%2ftracker2.dler.org%3a80%2fannounce&tr=http%3a%2f%2ftracker.yoshi210.com%3a6969%2fannounce&tr=http%3a%2f%2ftracker.ygsub.com%3a6969%2fannounce&tr=http%3a%2f%2ftracker.sloppyta.co%3a80%2fannounce&tr=http%3a%2f%2ftracker.skyts.net%3a6969%2fannounce&tr=http%3a%2f%2ftracker.lelux.fi%3a80%2fannounce&tr=http%3a%2f%2ftracker.gbitt.info%3a80%2fannounce&tr=http%3a%2f%2ftracker.dler.org%3a6969%2fannounce&tr=http%3a%2f%2ftracker.bt4g.com%3a2095%2fannounce&tr=http%3a%2f%2ft3.leech.ie%3a80%2fannounce&tr=http%3a%2f%2ft2.leech.ie%3a80%2fannounce&tr=http%3a%2f%2ft1.leech.ie%3a80%2fannounce&tr=http%3a%2f%2ft.overflow.biz%3a6969%2fannounce&tr=http%3a%2f%2ft.nyaatracker.com%3a80%2fannounce&tr=http%3a%2f%2fretracker.sevstar.net%3a2710%2fannounce&tr=http%3a%2f%2fpow7.com%3a80%2fannounce&tr=http%3a%2f%2fopen.acgtracker.com%3a1096%2fannounce&tr=http%3a%2f%2fopen.acgnxtracker.com%3a80%2fannounce&tr=http%3a%2f%2fmail2.zelenaya.net%3a80%2fannounce&tr=http%3a%2f%2faaa.army%3a8866%2fannounce&tr=http%3a%2f%2ftracker4.itzmx.com%3a2710%2fannounce&tr=http%3a%2f%2ftracker2.itzmx.com%3a6961%2fannounce&tr=http%3a%2f%2ftracker.shittyurl.org%3a80%2fannounce&tr=http%3a%2f%2ft.acg.rip%3a6699%2fannounce// 磁力链接2 压缩档 7z 压缩 22G 文件magnet:?xt=urn:btih:2580F4E5E2B56FEC2B64B48585B6F9DD8B9D1B76&dn=Windows_10_x64_for_WPF.7z&tr=http%3a%2f%2ftorrent.walterlv.com%3a36690%2fannounce&tr=udp%3a%2f%2ftracker.opentrackr.org%3a1337%2fannounce&tr=http%3a%2f%2fp4p.arenabg.com%3a1337%2fannounce&tr=http%3a%2f%2ftracker3.itzmx.com%3a6961%2fannounce&tr=http%3a%2f%2ftracker1.itzmx.com%3a8080%2fannounce&tr=http%3a%2f%2ftracker.zerobytes.xyz%3a1337%2fannounce&tr=http%3a%2f%2ftracker.nyap2p.com%3a8080%2fannounce&tr=http%3a%2f%2fopentracker.i2p.rocks%3a6969%2fannounce&tr=http%3a%2f%2fh4.trakx.nibba.trade%3a80%2fannounce&tr=udp%3a%2f%2fexplodie.org%3a6969%2fannounce&tr=http%3a%2f%2fvps02.net.orel.ru%3a80%2fannounce&tr=http%3a%2f%2ftrun.tom.ru%3a80%2fannounce&tr=http%3a%2f%2ftracker2.dler.org%3a80%2fannounce&tr=http%3a%2f%2ftracker.yoshi210.com%3a6969%2fannounce&tr=http%3a%2f%2ftracker.ygsub.com%3a6969%2fannounce&tr=http%3a%2f%2ftracker.sloppyta.co%3a80%2fannounce&tr=http%3a%2f%2ftracker.skyts.net%3a6969%2fannounce&tr=http%3a%2f%2ftracker.lelux.fi%3a80%2fannounce&tr=http%3a%2f%2ftracker.gbitt.info%3a80%2fannounce&tr=http%3a%2f%2ftracker.dler.org%3a6969%2fannounce&tr=http%3a%2f%2ftracker.bt4g.com%3a2095%2fannounce&tr=http%3a%2f%2ft3.leech.ie%3a80%2fannounce&tr=http%3a%2f%2ft2.leech.ie%3a80%2fannounce&tr=http%3a%2f%2ft1.leech.ie%3a80%2fannounce&tr=http%3a%2f%2ft.overflow.biz%3a6969%2fannounce&tr=http%3a%2f%2ft.nyaatracker.com%3a80%2fannounce&tr=http%3a%2f%2fretracker.sevstar.net%3a2710%2fannounce&tr=http%3a%2f%2fpow7.com%3a80%2fannounce&tr=http%3a%2f%2fopen.acgtracker.com%3a1096%2fannounce&tr=http%3a%2f%2fopen.acgnxtracker.com%3a80%2fannounce&tr=http%3a%2f%2fmail2.zelenaya.net%3a80%2fannounce&tr=http%3a%2f%2faaa.army%3a8866%2fannounce&tr=http%3a%2f%2ftracker4.itzmx.com%3a2710%2fannounce&tr=http%3a%2f%2ftracker2.itzmx.com%3a6961%2fannounce&tr=http%3a%2f%2ftracker.shittyurl.org%3a80%2fannounce&tr=http%3a%2f%2ft.acg.rip%3a6699%2fannounce

如不知道如何使用磁力链接…… 请使用百度网盘,如百度网盘链接炸了,请发邮件给我

一些问答

是不是在 2020 我才可以看到 WPF 的源代码,之前不可以?

答:不是的,在 2016 的时候 WPF 就开放了源代码,但开放源代码不等于开源,仅仅只是让你可以看到源代码

仅开放源代码是不是不能构建通过?

答:也可以,在 2017 的时候德熙魔改一点代码构建通过了,也做了私有的版本。但因为我的技术有限,此时的私有版本必须依赖原有的 WPF 框架

现在 WPF 是否完全开源?

答:是的,全部框架代码以及构建方法完全开源。现在是 2020.07 官方关于测试部分还没有完全开源,但是测试部分不影响咱构建私有版本

是否可以基于 WPF 开发自己的 UI 框架?

答:是的,没有任何法务问题。可以改现有的 WPF 框架作为自己的私有的 UI 框架,同时这个 UI 框架你可以对外发布获取商业价值。仅有一点不能做的是在这个 UI 框架上面声明微软相关商标

现在WPF是否属于微软的?

答:不是的,现在 WPF 属于 dotnet 基金会,微软只是其中一个成员。其实咱很难理解微软的做法,辛苦开发了这么久的框架,就完全开源出去了,属权也让出去了

如果添加了自己的代码的私有版本,是否后续难以维护?

答:如果是小功能,或独立模块,之后合并官方的更改难度不大。如果你还能提回官方的话,那就更好了

为什么我提到官方的 MR 还没有被合并,是不是 WPF 不维护了?

答:不是的,如上面的回答,现在 WPF 的测试部分还没有开源。在测试没有准备好之前,来自社区的 PR 暂时只合并没有 IL 更改的代码。官方没有合并代码不意味着你不能使用你的代码,依然可以构建自己的私有版本

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/308942.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于.NetCore3.1搭建项目系列 —— 使用Swagger做Api文档 (下篇)

前言回顾上一篇文章《使用Swagger做Api文档 》,文中介绍了在.net core 3.1中,利用Swagger轻量级框架,如何引入程序包,配置服务,注册中间件,一步一步的实现,最终实现生产自动生产API接口说明文档…

C++ vector容器中用erase函数和迭代器删除重复元素问题分析

第一种写法&#xff1a; #include <iostream> #include <vector> using namespace std;int main() {vector<int>v;v.push_back(888);v.push_back(89);v.push_back(89);v.push_back(89);v.push_back(9999);v.push_back(89);for (std::vector<int>::ite…

基于.NetCore3.1搭建项目系列 —— 使用Swagger做Api文档(上篇)

前言为什么在开发中&#xff0c;接口文档越来越成为前后端开发人员沟通的枢纽呢&#xff1f;随着业务的发张&#xff0c;项目越来越多&#xff0c;而对于支撑整个项目架构体系而言&#xff0c;我们对系统业务的水平拆分&#xff0c;垂直分层&#xff0c;让业务系统更加清晰&…

数据结构-树:根节点、子节点、叶子节点是什么?

前言&#xff1a;这个属于数据结构&#xff1a;树。 下面给个例子图解释&#xff08;根节点、子节点、叶子节点&#xff09;。 上图数字 1、3、7是叶子节点&#xff1b;&#xff08;因为他们下面没有分叉出子节点&#xff0c;所以称为&#xff1a;叶子节点&#xff09;【度为0】…

使用kibana可视化报表实时监控你的应用程序

先结果导向&#xff0c;来看我在kibana dashborad中制作的几张监控图。一&#xff1a;先睹为快1. dashboard1监控几个维度的日志&#xff0c;这么点日志量是因为把无用的清理掉了&#xff0c;而且只接入了部分应用。每日日志总数。每日日志错误数&#xff0c;从log4net中levelE…

[EDA]Quartus II 实验简答题

1&#xff0e;使用 Quartus 编辑波形文件时&#xff0c;界面如下图所示&#xff0c;图中用方框标注的区域&#xff0c;名称是什么&#xff1f;在图中&#xff0c;A、B是输入端口&#xff0c;S是输出端口&#xff0c;要编辑的是哪些信号&#xff1f;为什么。 1&#xff0e;方框标…

基于.NetCore3.1搭建项目系列 —— 使用Swagger导出文档 (补充篇)

前言在上一篇导出文档番外篇中&#xff0c;我们已经熟悉了怎样根据json数据导出word的文档&#xff0c;生成接口文档&#xff0c;而在这一篇&#xff0c;将对上一篇进行完善补充&#xff0c;增加多种导出方式&#xff0c;实现更加完善的导出功能。回顾1. 获取Swagger接口文档的…

[EDA] 给出一个双进程状态机,请把它改为单进程状态机。

给出一个双进程状态机&#xff0c;请把它改为单进程状态机。 解答&#xff1a;

[EDA] 给出一个状态机,请把它的组合进程分为2个,分别命名为COM1和COM2,其中:COM1实现对外的控制信号输出,COM2实现状态译码。

给出一个状态机&#xff0c;请把它的组合进程分为2个&#xff0c;分别命名为COM1和COM2&#xff0c;其中&#xff1a;COM1实现对外的控制信号输出&#xff0c;COM2实现状态译码。 解答&#xff1a;

基于.NetCore3.1搭建项目系列 —— 使用Swagger导出文档 (番外篇)

前言回顾之前的两篇Swagger做Api接口文档&#xff0c;我们大体上学会了如何在net core3.1的项目基础上&#xff0c;搭建一套自动生产API接口说明文档的框架。本来在Swagger的基础上&#xff0c;前后端开发人员在开发生产期间&#xff0c;可以借此进行更加便捷的沟通交流。可是总…

遵守这些原则让你开发效率提高一倍

一、概述在园子里面有很多关于各种技术细节的研究文章&#xff0c;都是比较牛逼的框架研究&#xff1b;但是一直没有看到关于怎么样提高开发效率的文章&#xff0c;大多提高开发效率的文章都是关于自动化等方面的辅助工具类型的&#xff0c;而不是开发中的一些小技巧&#xff1…

【复杂系统迁移 .NET Core平台系列】之调度服务改造

源宝导读&#xff1a;微软跨平台技术框架—.NET Core已经日趋成熟&#xff0c;已经具备了支撑大型系统稳定运行的条件。本文将介绍明源云ERP平台从.NET Framework向.NET Core迁移过程中的实践经验。一、背景随着ERP的产品线越来越多&#xff0c;业务关联也日益复杂&#xff0c;…

C++实现AOE网中的关键路径算法及机动时间计算算法(邻接表存储)

代码如下: #include <iostream> #include <stack> using namespace std; const int N 100;typedef struct Node {int adj;int w;Node *next;}Node;typedef struct VNode {int in;int v;Node *first;VNode(){first nullptr;} }VNode;class AOE { private:VNode a…

.NET 开源项目 StreamJsonRpc 介绍[中篇]

阅读本文大概需要 11 分钟。上一篇介绍了一些预备知识&#xff0c;包括 JSON-RPC 介绍和实现了 JSON-RPC 的 StreamJsonRpc 介绍&#xff0c;讲到了 StreamJsonRpc 可以通过 .NET 的 Stream 类和 WebSocket 类实现 JSON-RPC 协议的通信。本篇就先选择其中的 Stream 类来讲解&am…

Istio 中的多集群部署与管理

本文节选自ServiceMesher 社区出品的开源电子书《Istio Handbook——Istio 服务网格进阶实战》&#xff0c;作者钟华&#xff0c;来自腾讯云。Istio 在 1.1 后提供了两类多集群的连通的部署模式&#xff1a;1. 多控制面2. 单控制面&#xff0c;也称为 “共享控制面” 模式多控制…

认证授权方案之授权初识

1.前言回顾&#xff1a;认证授权方案之JwtBearer认证在上一篇中&#xff0c;我们通过JwtBearer的方式认证&#xff0c;了解在认证时&#xff0c;都是基于Claim的&#xff0c;因此我们可以通过用户令牌获取到用户的Claims&#xff0c;在授权过程中对这些Claims进行验证&#xff…

[数据结构]树、森林与二叉树之间的相互转换方法

树、二叉树与森林的相互转换 本文只给出树、森林与二叉树之间的转换方法&#xff0c;而详细的证明过程不在本文讨论范围之内。 树 → 二叉树 在所有兄弟结点之间加一连线。 对每个结点&#xff0c;除了保留与其长子的连线外&#xff0c;去掉该结点与其它孩子的连线。 二叉树 …

Blazor.Server以正确的方式集成Ids4

&#xff08;一个真正的以后端形式来集成认证中心的方案&#xff09;❤本文导读首先特别感谢张善友老师提供技术指导&#xff0c;源于上周我发了一篇文章《[Mvp.Blazor] 集成Ids4&#xff0c;实现统一授权认证》&#xff0c;我本来是想通过像vue框架那样&#xff0c;通过引oidc…