Windows下调试AspNetCore源码
2020-08-11 本文已影响0人
晒雨LL
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
一定要等他还原完成, 别看到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