以正确的方式下载和配置 ASP.NET Core 官方源码
我们可以在Github上面直接查看ASP.NET Core 3.x的源代码,但是我们也可以把源代码下载下来进行查看。
而下载源代码进行查看有很多好处:
- 任意的导航源代码
- 内置了一个示例项目
- 直接调试源代码
下载源代码
想下载并配置好源码,你需要:
- 最新版的Visual Studio 或者其它IDE
- Git 和 nodejs
- clone仓库
- 运行一些脚本
ASP.NET Core 3.x的官方仓库地址为:https://github.com/dotnet/AspNetCore
使用git将其clone到本地:
git clone --recursive https://github.com/dotnet/aspnetcore.git
注意这里需要加 --recursive,这样可以把依赖项一同下载。
配置源码
clone好源码之后,使用命令行进入该文件夹然后执行git tag,查看tag版本:
这里我们使用的是v3.1.2版本。
如果你想查看其它分支版本的话,可以执行类似的命令:
配置项目
我们可以直接用VS将项目的解决方案打开,但是,这里面有一个Visual Studio安装的Powershell脚本,它很强大,我们可以先运行它试试效果:
如果你运行InstallVisualStudio.ps1文件的话,它会打开Visual Studio Installer,并且会勾选上所有运行该源代码所需要安装的选项。
在Windows Explorer里以管理员身份打开Powershell:
打开PS之后,如果你输入文件名的前一部分:
然后按tab,就会自动补齐该文件名:
然后先别执行,还需要一些参数:
-edition 参数表示VS的版本,默认是企业版,企业版可以不加这个参数。但是如果你是communiy版的话,就需要添加这个参数。
然后执行该脚本:
如果出现这个错误,说明不允许运行这个脚本。
这时候我们可以采取一个临时的解决办法就是输入这个命令,然后输入A,按回车:
然后再次执行该脚本:
稍等一下会弹出Visual Studio Installer:
点击继续,会下载并安装一些依赖项:
然后会出现下面选择安装组件的窗口,并且把需要安装的组件都自动勾选上了:
这时你只需要点击modify按钮去安装就可以了。装完之后关闭就可以了。
这样做的好处是,你不需要手动去挨个安装需要的组件,而且不会出错。
Restore
下面需要进行restore脚本,它会下载所有编译所需的第三方库或依赖项等等。在仓库的根目录,命令行执行:
这个可能需要一点时间。
安装完之后就可以打开里面的具体项目文件了,但是不要直接点击sln文件。
打开MVC项目的源码
如果你想打开MVC项目的源码,请进入src/MVC目录:
暂时先别打开Mvc.sln,还是使用运行脚本的方式来开启解决方案。
按住Shift+鼠标右键点击Mvc.sln文件:
点击菜单里的Copy as path。
回到命令行,在项目根目录执行下面的命令(把复制的路径贴进去,并去掉双引号):
这样打开项目的时候,会针对这个版本的源代码设置一些需要的环境变量来引用正确的.NET依赖项。
打开项目也需要很长的时间:
项目打开后,可以先Build一下,如果成功了,那就可以正常的浏览、调试、修改代码了。
以正确的方式下载和配置 ASP.NET Core 官方源码的更多相关文章
- ASP.NET Core MVC 源码学习:MVC 启动流程详解
前言 在 上一篇 文章中,我们学习了 ASP.NET Core MVC 的路由模块,那么在本篇文章中,主要是对 ASP.NET Core MVC 启动流程的一个学习. ASP.NET Core 是新一 ...
- ASP.NET Core 框架源码地址
ASP.NET Core 框架源码地址 https://github.com/dotnet/corefx 这个是.net core的 开源项目地址 https://github.com/aspnet ...
- asp.net core启动源码以及监听,到处理请求响应的过程
摘要 asp.net core发布至今已经将近6年了,很多人对于这一块还是有些陌生,或者说没接触过:接触过的,对于asp.net core整个启动过程,监听过程,以及请求过程,响应过程也是一知半解,可 ...
- ASP.NET Core MVC 源码学习:Routing 路由
前言 最近打算抽时间看一下 ASP.NET Core MVC 的源码,特此把自己学习到的内容记录下来,也算是做个笔记吧. 路由作为 MVC 的基本部分,所以在学习 MVC 的其他源码之前还是先学习一下 ...
- ASP.NET Core MVC 源码学习:详解 Action 的激活
前言 在 上一篇 文章中,我们已经学习了 ASP.NET Core MVC 的启动流程,那么 MVC 在启动了之后,当请求到达过来的时候,它是怎么样处理的呢? 又是怎么样把我们的请求准确的传达到我们的 ...
- ASP.NET Core MVC 源码学习:详解 Action 的匹配
前言 在 上一篇 文章中,我们已经学习了 ASP.NET Core MVC 的启动流程,那么 MVC 在启动了之后,当请求到达过来的时候,它是怎么样处理的呢? 又是怎么样把我们的请求准确的传达到我们的 ...
- ASP.NET Core macOS 环境配置 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core macOS 环境配置 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 是对 ASP.NET 有重大意义的一次重新设计.本章节我 ...
- ASP.NET Core Windows 环境配置 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core Windows 环境配置 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core Windows 环境配置 ASP.NET Core ...
- 用"hosting.json"配置ASP.NET Core站点的Hosting环境
通常我们在 Prgram.cs 中使用硬编码的方式配置 ASP.NET Core 站点的 Hosting 环境,最常用的就是 .UseUrls() . public class Program { p ...
随机推荐
- UITextView实现PlaceHolder的方式
实现UITextView实现PlaceHolder的方式的方式有两种,这两种方法的核心就是通过通知来添加和去除PlaceHolder:下面来介绍两种方法:个人比较喜欢第一种,看起来更加合理. 方法1: ...
- LR及评分卡(未完成)
主要分为如下内容: 一.线性回归 二.逻辑回归 三.逻辑回归评分卡流程 一.线性回归 二.逻辑回归 在线性回归的基础上引入了sigmoid函数,Logistic回归为什么要使用sigmoid函数 三. ...
- js原型理解
https://www.cnblogs.com/liuhw/p/10646717.html __proto__的默认指向:https://www.jianshu.com/p/686b61c4a43d
- 吴裕雄--天生自然 R语言开发学习:回归(续四)
#------------------------------------------------------------# # R in Action (2nd ed): Chapter 8 # # ...
- Web窗体--控件
服务器基本控件:button: text属性linkbutton:text属性,它是一个超链接模样的普通buttonhyperlink: navigateurl:链接地址,相当于<a>标签 ...
- ranche2.0-CN
遵循以下两步,快速运行rancher2.0 Step1:准备一台linux主机 准备一台64位Linux主机(推荐centos7.5+),至少4GB内存.安装Kubernetes支持的Docker-c ...
- Memcached笔记——(一)安装&常规错误&监控
08年的时候接触过Memcached,当时还对它的客户端产品嗤之以鼻,毕竟手工代码没有各种ORM原生XML配置方便.尽管如此,Memcached现在已经成了服务器架构里不可或缺的一部分! 相关链接: ...
- hexo文章编写部分语法总结以及hexo使用
一.hexo的使用 1.1 新建一篇文章 1 $ hexo new [layout] <title> 1.2. 生成静态文件 1 $ hexo generate 可简写为 1 $ hexo ...
- JavaScript中prompt的使用
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.js * 作者:常轩 * 微信公众号:Worldhel ...
- linux tc流量控制
tc流量控制 项目背景 vintage3.0接口lookupforupdage增加一个策略,当带宽流量tx或rx超过40%,75%随机返回304:超过60%,此接口均返回304 为了对测试机器进行流量 ...