大家好,这几天试着从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. 前端技术之:JavaScript Test 断言库

    expect 声称可以写更好的断言. https://github.com/mjackson/expect   chai 可以写BDD样式的断言,也可以写TDD样式的断言,可用于Node.js与浏览器 ...

  2. 在VMware下进行的Windows2008操作系统虚拟机的安装

    一.VMware虚拟机的安装 首先你需要拥有一款软件VMware,这是一款虚拟机安装软件.Vmware比起Vbox收费较贵,占用资源大,但是拥有大量的资源以及拥有克隆技术,适合新手学习使用,较为专业. ...

  3. 前端组件用 Scope 发布 npm 包的方法

    1.引言 多人.多组织或多组件发布 npm 包到同一个仓库时,可能出现命名冲突问题. 为了解决这个问题,npm 引入了“scope”(范围)概念. 在 Angular 项目中,我们通常可以看到“@an ...

  4. javaScipt类定义和实现

      最近在几个群上经常看到有人问在一个类里的一个 function 怎么调用 this. 定义后公开的方法.现发一篇类实现的随笔.首先说说类,在一个类里我们会有以下的几个特征:1. 公有方法2. 私有 ...

  5. P4409 [ZJOI2006]皇帝的烦恼(20190922B)(乱搞)

    考场历程十分艰辛啊... 第一题没切掉,还浪费了很长时间,就是一个裸的最小生成树,但是因为可恶的distance为关键字莫名其妙查错了10min.... 本题先乱搞了一下,过了样例 然后看第三题,可写 ...

  6. php Yaf_Loader::import引入文件报错的解决方法

    php Yaf_Loader::import引入文件报错的解决方法 改下配置文件就行<pre>yaf.use_spl_autoload=1</pre> 也可以PHP动态修改 毕 ...

  7. js的split()和join()的用法

    split() 方法用于把一个字符串分割成字符串数组.split[splɪt]:vt. 分离:使分离:劈开:离开:分解 stringObject.split(separator,howmany) se ...

  8. GitHub和Git

    GitHub托管项目代码 首先一些基本概念: repository(仓库) 用来存放项目代码,每个项目代表一个仓库,开一个项目就意味着你有一个仓库. star(收藏) 收藏方便下次查找. fork(复 ...

  9. pat 1124 Raffle for Weibo Followers(20 分)

    1124 Raffle for Weibo Followers(20 分) John got a full mark on PAT. He was so happy that he decided t ...

  10. pug参考文档

    1. API express框架的渲染模板有多种选择,官方的例子是Pug,网上找了一下,Pug没有可以参考的中文文档,于是自己动手丰衣足食.翻译水平一般,各位凑合着看吧. 1.1 开始 安装 通过np ...