Windows下调试AspNetCore源码

git库
https://github.com/dotnet/aspnetcore
安装指南
https://github.com/dotnet/aspnetcore/blob/master/docs/BuildFromSource.md

1 下载源码

//for first
git clone --recursive https://github.com/dotnet/aspnetcore
//for update
git submodule update --init --recursive

2 系统环境准备

2.1 修改VistualStudio 2019, 别用其他版本

./eng/scripts/InstallVisualStudio.ps1

2.2 Git https://git-scm.org
2.3 NodeJs 10.14.2 及以上版本https://nodejs.org
2.4 Yarn 全局安装

npm install -g yarn

2.5 Java JDK 11 及以上版本https://jdk.java.net/
2.6 Chrome

3 还原(PowerShell或cmd)

需要先修改根目录下global.json, 指定对应的sdk及各个软件的版本
建议下载好sdk压缩包解压至根目录.dotnet文件夹, x86解压至根目录.dotnet\x86文件夹

//要允许执行安装脚本,可能需要更新计算机上的执行策略。
//通过Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
//在PowerShell中运行命令来执行此操作
.\restore.cmd

注意1: 管理员运行
注意2: 一定要等他还原完成, 别看到succesful就以为结束了(都是泪)

可能会出现以下错误(注意红色输出)

error C2220: 警告被视为错误
warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

解决方法:
1.更改错误代码文件的编码方式,改为ANSI(如果还报错,再改为UTF-8)。
2.将\n替换为\n。
我的是以下几个文件,具体看错误输出
目录: \aspnetcore\src\submodules\googletest\googlemock\include\gmock

internal\gmock-internal-utils.h
gmock-generated-function-mockers.h
gmock-matchers.h
gmock-spec-builders.h

4 启动vs(PowerShell或cmd)

.\startvs.cmd D:\aspnetcore\src\Mvc\Mvc.slnf

Visual Studio当前无法很好地处理大规模的项目。
使用解决方案筛选器(.slnf)文件,其中包含项目的子集, 可以很好的解决这种问题。
https://docs.microsoft.com/en-us/visualstudio/ide/filtered-solutions?view=vs-2019

你可能感兴趣的:(Windows下调试AspNetCore源码)