2021
11/20
12:21
你的位置:首页 > ASP.net教程 > .NET源码编译过程

.NET源码编译过程

发布时间:2021-11-20 12:21:14

原标题:.NET源码编译过程

注:每个源码的版本编译方式有差异,我这边编译的是 .NET6 也就是 v6.0.0

首先准备一个干净的虚拟机(我给了80G的硬盘空间,少了可能不够),装get='_blank'>windows 10,版本>=1803
以管理员运行powershell PS> set-ExecutionPolicy RemoteSigned,选择'Y'
装vs2022(勾选 [ASP.NET和Web开发],[.NET桌面开发],[使用C++的桌面开发] ,(单个组件需要勾选 Windows 10 SDK(10.0.18362.0)))
装git
装Node.js
装JDK(可以后面通过命令装),

先装这些工具是因为后面可能会失败, 先装好后备份镜像,方便后面直接还原镜像如果你信心十足可以不备份镜像
后面过程最好全程挂着代理跑 

1.下载源码: (必须clone ,下载zip的不行)
$ git clone --recursive https://github.com/aspnet/AspNetCore

2,更改根目录.git文件夹下 config文件里的 三个 submodule 的url
不然后面检出子模块时 git submodule update --init --recursive 不能成功(挂代理都不一定成功),
我这边全部改成了 gitee 的地址 ,是这么改的
[submodule "src/submodules/MessagePack-CSharp"]
url =
[submodule "src/submodules/googletest"]
url =
[submodule "src/submodules/spa-templates"]
url =

 

3,检出指定子模块 (我编译时指定 v6.0.0)
git checkout v6.0.0

  git submodule update --init --recursive 
必须保证三个url的执行全部成功,否则后面编译不过

  装JDK
PS> ./eng/scripts/InstallJdk.ps1 

4,还原依赖,

PS> .\restore.cmd 
耗时很久,耐心等待,祝你不失败,失败了就重试下,失败的原因要么是网络问题要么是前面东西没装好

下图处不能出现警告,错误

   

5,编译
同样耗时很久,耐心等待,祝你不失败,失败的大概率原因是前面东西没装好,我这边编译到最后signalr的包报了几个错,懒得管了,不影响后面debug代码
PS> eng\build.cmd 

6,运行,源码最终生成在 src 目录下
源码中根据不同的组件包含多个解决方案,sln是不可以直接打开的,正确的方式是运行目录 里的startvs.cmd 它会设置必要的环境变量,并自动使用Visual Studio打开.sln文件。
以MVC项目为例,打开/src/Mvc/startvs.cmd。
生成一下samples/MvcSandbox,并设为启动项目, 运行项目 选择 MvcSandbox 不要选择 IIS Express

   

 如果全部生成成功,能正常运行,就可以运行了。运行成功界面如下

     

如果上述几个过程出了错误,自行google吧,百度可能没有

后续有时间会将我的虚拟机镜像文件上传分享,不想折腾的同学可以直接下载镜像文件




原标题:.NET源码编译过程

关键词:win

转载请保留本文网址: http://www.www.d5897.com/a/1258397.html
win
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#www.d5897.com (#换成@)。
Baidu