大家好,这几天试着从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或更高版本。要么:
  • 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 源码的更多相关文章

  1. 一个由正则表达式引发的血案 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. 一些特殊字符,如“&”,“- ...

  2. ASP.NET Core源码学习(一)Hosting

    ASP.NET Core源码的学习,我们从Hosting开始, Hosting的GitHub地址为:https://github.com/aspnet/Hosting.git 朋友们可以从以上链接克隆 ...

  3. ASP.NET Core[源码分析篇] - WebHost

    _configureServicesDelegates的承接 在[ASP.NET Core[源码分析篇] - Startup]这篇文章中,我们得知了目前为止(UseStartup),所有的动作都是在_ ...

  4. ASP.NET Core[源码分析篇] - Authentication认证

    原文:ASP.NET Core[源码分析篇] - Authentication认证 追本溯源,从使用开始 首先看一下我们通常是如何使用微软自带的认证,一般在Startup里面配置我们所需的依赖认证服务 ...

  5. ASP .NET CORE 源码地址

    ASP .NET CORE 源码地址:https://github.com/dotnet/ 下拉可以查找相应的源码信息, 例如:查找 ASP .NET CORE Microsoft.Extension ...

  6. ASP.NET Core 源码阅读笔记(2) ---Microsoft.Extensions.DependencyInjection生命周期管理

    在上一篇文章中我们主要分析了ASP.NET Core默认依赖注入容器的存储和解析,这一篇文章主要补充一下上一篇文章忽略的一些细节:有关服务回收的问题,即服务的生命周期问题.有关源码可以去GitHub上 ...

  7. asp.net core源码地址

    https://github.com/dotnet/corefx 这个是.net core的 开源项目地址 https://github.com/aspnet 这个下面是asp.net core 框架 ...

  8. Visual Studio 2017中使用SourceLink调试ASP.NET Core源码

    背景 当我们在学习ASP.NET Core或者调试ASP.NET Core程序的时候,有时候需要调试底层代码,但是当我们在Visual Studio中调试程序的时候,由于一些基础库或者第三方库缺少pd ...

  9. ASP.NET Core 源码阅读笔记(5) ---Microsoft.AspNetCore.Routing路由

    这篇随笔讲讲路由功能,主要内容在项目Microsoft.AspNetCore.Routing中,可以在GitHub上找到,Routing项目地址. 路由功能是大家都很熟悉的功能,使用起来也十分简单,从 ...

随机推荐

  1. (24)ASP.NET Core EF查询(查询的工作原理、跟踪与非跟踪查询)

    1.查询生命周期 在进入正题时候,我们先来了解EF Core查询的生命周期. 1.1LINQ查询会由Entity Framework Core处理并生成给数据库提供程序可处理的表示形式(说白了就是生成 ...

  2. 定制linux镜像并自动化安装

    最近碰到个需求:要在内网环境安装centos6.5系统并搭建服务,但由于自动部署脚本里安装依赖包使用的是yum安装,而服务器无法连接外网,实施人员也不会本地yum源搭建….. 本来想法是打算把需要的依 ...

  3. shell 队列实现线程并发控制

    需求:并发检测1000台web服务器状态(或者并发为1000台web服务器分发文件等)如何用shell实现? 方案一:(这应该是大多数人都第一时间想到的方法吧) 思路:一个for循环1000次,顺序执 ...

  4. [考试反思]0718 NOIP模拟测试5

    最后一个是我...rank#11 rank#1和rank#2被外校大佬包揽了. 啊...考的太烂说话底气不足... 我考场上在干些什么啊!!! 20分钟“切”掉T2,又27分钟“切”掉T1 切什么切, ...

  5. bzoj1004 card

    明知是burnside然而根本不会然后无耻地颓了题解后一脸傻气的我: 直接套公式???为啥方案数==等价类数量啊??? skyh:显然啊(狂笑)(hey wxy!他问为啥方案书等于等价类数量!) wx ...

  6. 「Usaco2008 Jan」人工湖O(∩_∩)O 纯属的模拟+栈

    题目描述 夏日那让人喘不过气的酷热将奶牛们的烦躁情绪推到了最高点.最终,约翰决定建一个人工湖供奶牛消暑之用. 为了使湖看起来更加真实,约翰决定将湖的横截面建成N(1≤N≤105)个连续的平台高低错落的 ...

  7. CSS3解决字母不换行的方法

    CSS3解决字母不换行的方法 <pre>word-wrap: break-word;</pre>

  8. HTML创建图像映射,布局,表单

    来源: 实验楼 创建图像映射 在这之前我们动手试验过将图片作为链接来使用,触发链接的方式就是点击图片的任何地方都可以链接到跳转地址,有时我们需要实现,点击图片的不同地方跳转到不同的地方.意思就是,一张 ...

  9. keeplived离线安装openssl-devel依赖包

    转载自素文宅博客:https://blog.yoodb.com/yoodb/article/detail/1434 由于公司业务并发比较高需要高可用使用LVS keeplived.在linux系统ce ...

  10. 《Java多线程面试题》系列-创建线程的三种方法及其区别

    1. 创建线程的三种方法及其区别 1.1 继承Thread类 首先,定义Thread类的子类并重写run()方法: package com.zwwhnly.springbootaction.javab ...