在Windows系统中构建还原ASP.NET Core 源码
大家好,这几天试着从Github上拉取AspNetCore的源码,尝试着通过Visual Studio 打开,但是并不尽人意。我们需要去构建我们拉去的源代码,这样才可以通过VisualStudio可还原的项目。毕竟AspNetCore是一个巨型的项目集。
先决条件
在Windows中构建AspNetCore源码的要求有以下硬件需求。
- Windows 10版本1803或更高版本
- 至少10 GB的磁盘空间和良好的网络(我们的构建脚本下载了很多工具和依赖项)
- Visual Studio 2019 (因为所需C++某些运行库,就算你的Windows中有先决条件的Visual Studio ,你有时也不会勾选C++等运行库,所以我们还是要运行下,大概四个多G)
- 要安装所需的确切组件,请运行./eng/scripts/InstallVisualStudio.ps1
PS> ./eng/scripts/InstallVisualStudio.ps1- Git 工具
- NodeJS。LTS版本10.14.2或更高版本https://nodejs.org
- Java Development Kit 11或更高版本。要么:
- OpenJDK https://jdk.java.net/
- 甲骨文的JDK https://www.oracle.com/technetwork/java/javase/downloads/index.html
- 要安装此回购协议只能使用的JDK版本,请运行eng / scripts / InstallJdk.ps1
./eng/scripts/InstallJdk.ps1- Chrome-基于硒的测试需要安装一个版本的Chrome。从[ https://www.google.com/chrome ] 下载并安装它
拉取代码
ASP.NET Core使用git子模块来包含其他一些项目的源代码。
对于项目的新副本,运行:
git clone --recursive https://github.com/aspnet/AspNetCore
如果第一次没有通过,则可以再更新,再 .\restore.cmd :
git submodule update --init --recursive
为了挑选你想要的版本,您必须选择迭代,否则将会是最新的版本,所以必须切换并创建一个分支。
git checkout (要使用的版本)v3.1.0 -b test
还原代码
在Github拉取代码之后,您需要执行以下操作,这将下载所需的工具并还原整个存储库一次。
.\restore.cmd
这个时候,您应该可以通过Visual Studio 或者 Vs Code 打开您想打开的项目了,但是打开之后会发现,缺少很多本身项目所需的依赖库。
构建代码
构建代码的前提是您的还原代码通过了。否则则会直接构建失败,这里的Windows命令行如下:
.\build.cmd
该操作会耽误您的一点时间,考虑到一般的计算机,差不多会用到十分钟多一点,当然这是在您网络良好的情况下。
通过Visual Studio 享受美食

一些问题
像NodeJs 和 Java JDK 一定要装好,最好在PowerShell执行以上操作。
问题一:
PowelShell出现 无法加载文件 ******.ps1,因为在此系统中禁止执行脚本。有关详细信息,请参阅 "get-help about_signing"。 ,请在powershell中执行 set-ExecutionPolicy RemoteSigned .
问题二:
如果找不到SDK,请启动Visual Studio,转到“ 工具”>“选项”,然后在“ 环境”>“预览功能”下选中“ 使用.NET Core SDK的预览”。
最后希望大家顺利还原并构建源代码!~
更多资料
https://github.com/aspnet/AspNetCore/blob/master/docs/BuildFromSource.md
在Windows系统中构建还原ASP.NET Core 源码的更多相关文章
- 一个由正则表达式引发的血案 vs2017使用rdlc实现批量打印 vs2017使用rdlc [asp.net core 源码分析] 01 - Session SignalR sql for xml path用法 MemCahe C# 操作Excel图形——绘制、读取、隐藏、删除图形 IOC,DIP,DI,IoC容器
1. 血案由来 近期我在为Lazada卖家中心做一个自助注册的项目,其中的shop name校验规则较为复杂,要求:1. 英文字母大小写2. 数字3. 越南文4. 一些特殊字符,如“&”,“- ...
- ASP.NET Core源码学习(一)Hosting
ASP.NET Core源码的学习,我们从Hosting开始, Hosting的GitHub地址为:https://github.com/aspnet/Hosting.git 朋友们可以从以上链接克隆 ...
- ASP.NET Core[源码分析篇] - WebHost
_configureServicesDelegates的承接 在[ASP.NET Core[源码分析篇] - Startup]这篇文章中,我们得知了目前为止(UseStartup),所有的动作都是在_ ...
- ASP.NET Core[源码分析篇] - Authentication认证
原文:ASP.NET Core[源码分析篇] - Authentication认证 追本溯源,从使用开始 首先看一下我们通常是如何使用微软自带的认证,一般在Startup里面配置我们所需的依赖认证服务 ...
- ASP .NET CORE 源码地址
ASP .NET CORE 源码地址:https://github.com/dotnet/ 下拉可以查找相应的源码信息, 例如:查找 ASP .NET CORE Microsoft.Extension ...
- ASP.NET Core 源码阅读笔记(2) ---Microsoft.Extensions.DependencyInjection生命周期管理
在上一篇文章中我们主要分析了ASP.NET Core默认依赖注入容器的存储和解析,这一篇文章主要补充一下上一篇文章忽略的一些细节:有关服务回收的问题,即服务的生命周期问题.有关源码可以去GitHub上 ...
- asp.net core源码地址
https://github.com/dotnet/corefx 这个是.net core的 开源项目地址 https://github.com/aspnet 这个下面是asp.net core 框架 ...
- Visual Studio 2017中使用SourceLink调试ASP.NET Core源码
背景 当我们在学习ASP.NET Core或者调试ASP.NET Core程序的时候,有时候需要调试底层代码,但是当我们在Visual Studio中调试程序的时候,由于一些基础库或者第三方库缺少pd ...
- ASP.NET Core 源码阅读笔记(5) ---Microsoft.AspNetCore.Routing路由
这篇随笔讲讲路由功能,主要内容在项目Microsoft.AspNetCore.Routing中,可以在GitHub上找到,Routing项目地址. 路由功能是大家都很熟悉的功能,使用起来也十分简单,从 ...
随机推荐
- tensorflow制作tfrecord格式数据
tf.Example msg tensorflow提供了一种统一的格式.tfrecord来存储图像数据.用的是自家的google protobuf.就是把图像数据序列化成自定义格式的二进制数据. To ...
- CSPS模拟 78
大敛好稳啊..居然在模拟赛拿了540.. 有点畏惧.jpg 而我就是什么什么不行级人物了.. 真正在联赛拉开那么多分怎么追啊.. T1kmp?hash? T2 概率小到炸精时,对答案也就没贡献了 然后 ...
- NOIP模拟21+22
模拟21确实毒瘤...考场上硬刚T3 2.5h,成功爆零 T1.数论 看这题目就让人不想做,考场上我比较明智的打完暴力就弃掉了,没有打很久的表然后找规律. 正解貌似是乱搞,我们考虑一个比较显然的结论: ...
- 《STL源码剖析》——List
List list位于头文件<<stl_list.h>>中 list是sequence containers中的一种 1 List的基本架构 list的基本结构的UML关系图如 ...
- Salesforce学习之路-developer篇(五)Aura组件原理及常用属性
很喜欢曾经看到的一句话:以输出倒逼输入.以输出的形式强制自己学习,确实是高效的学习方式,真的很棒.以下仅为个人学习理解,如有错误,欢迎指出,共同学习. 1. 什么是Lightning Componen ...
- egret常用功能
egret常用功能<pre>//////////////////////////////////////////////////////////////////////////////// ...
- python 抓取youtube教程
前言: 相信大家很多人都看过youtube网站上的视频,网站上有很多的优质视频,清晰度也非常的高,看到喜欢的想要下载到本地,虽然也有很多方法,但是肯定没有python 来的快, 废话不多说,上代码: ...
- 在开发框架中扩展微软企业库,支持使用ODP.NET(Oracle.ManagedDataAccess.dll)访问Oracle数据库
在前面随笔<在代码生成工具Database2Sharp中使用ODP.NET(Oracle.ManagedDataAccess.dll)访问Oracle数据库,实现免安装Oracle客户端,兼容3 ...
- 【计算机网络】TCP基础知识详解
1. TCP概念相关 [!NOTE] TCP(Transmission Control Protocol),又叫传输控制协议. TCP协议是面向连接的,可靠的,基于字节流的传输协议.在基于 TCP 进 ...
- Docker+Dubbo+Zookeeper实现RPC远程调用
Docker+Dubbo+Zookeeper 1.安装Docker 1.1卸载旧版本的Docker //如果Docker处于与运行状态 未运行可跳过 [root@MrADiao ~]# systemc ...