简介

第一步:设置代理环境变量

.NET Runtime项目的编译脚本需要在线下载很多东西, 鉴于国内的网络环境,如果你没有一个快速的代理, 基本上编译脚本是没希望执行成功的。

因此,如果想要快速顺利的编译项目,必须要设置代理。

方式1: 从控制面板里面配置环境变量(一直有效)

跟平常修改windows path环境变量一样的方法, 在控制面板里面,新建 HTTP_PROXYHTTPS_PROXY 这两个环境变量。

方式2: 从Powershell命令行手动设置(临时有效)

Powershell中使用下列命令设置环境变量:

1
2
$env:HTTP_PROXY="http://127.0.0.1:1080"
$env:HTTPS_PROXY="http://127.0.0.1:1080"

检查环境变量是否生效

上面两种方式,选其一设置即可。

打开Powershell,输入 $env:HTTPS_PROXY$env:HTTPS_PROXY 两条命令,检查输出,看环境变量是否生效。

1
2
3
4
5
6
7
PS D:\> $env:HTTPS_PROXY
http://127.0.0.1:1080

PS D:\> $env:HTTP_PROXY
http://127.0.0.1:1080

PS D:\>

第二步: 下载源码

1
2
3
4
5
6
7
8
9
cd D:
git clone --recursive https://github.com/dotnet/runtime.git

cd D:\runtime
git submodule update --init --recursive

# 基于特定版本创建新分支,这样就可以把修改保存在新分支上。
git checkout v8.0.5
git branch review-v8.0.5

第三步: 安装需要的Visual Studio组件

为了编译项目需要安装很多Visual Studio组件,项目开发人员很贴心,仓库里面已经提供了VS2022安装配置文件.vsconfig,导入配置文件进行安装就好了。

即使你已经安装了 Visual Studio 2022 ,也要使用 .vsconfig 配置文件重新导入一下,不然在后面的步骤,可能会因为缺失组件而报错。

导入方法: 打开Visual Studio Installer, 更多 -> 载入配置 -> 选择 .vsconfig -> 查看详细信息。

第三步:正式编译步骤

1. 编译项目

在.NET Runtime项目文件夹,执行下列命令,进行编译。

1
2
3
4
5
6
# 设置代理
$env:HTTP_PROXY="http://127.0.0.1:1080"
$env:HTTPS_PROXY="http://127.0.0.1:1080"

# 编译项目
.\build.cmd clr+libs -rc Release
  • 注意: 一定要设置代理, 这个很重要;

2. 在vs中打开项目

如果你要查看的项目,项目文件夹内有sln文件,你可以直接使用visual studio打开。

如果项目文件夹内没有sln文件,从命令行执行下列命令,该命令会自动调用visual studio并打开项目。

1
2
3
# System.Private.CoreLib 是项目文件夹的名称, 换成你要查看的项目。

.\build.cmd -vs System.Private.CoreLib