下载、编译AspNetCore 的全过程
1. clone 源码
下载新的
git clone --recursive https://github.com/dotnet/aspnetcore
如果之前clone过,但是没有使用 --recursive参数
可以使用下面命令
git submodule update --init --recursive
或
git submodule sync --recursive;
git submodule update --init --force --recursive
注意--recursive是必须的 , 因为: ASP.NET Core uses git submodules to include the source from a few other projects.
2. 切换分支到v3.1.5
git checkout v3.1.5
git checkout -b myV3.1.5
如果git版本>=2.23 , git checkout -b myV3.1.5 这条命令也可以替换为 git switch -c myV3.1.5
3. 编辑项目根目录的nuget.config
去掉源链接中包含"darc-int"的链接 (这些是微软内部的源,外部人员无法使用)
如 下面这些需要去掉:
<add key="darc-int-dotnet-extensions-be18161" value="https://pkgs.dev.azure.com/dnceng/_packaging/darc-int-dotnet-extensions-be18161f/nuget/v3/index.json" />
<add key="darc-int-dotnet-efcore-509fe04" value="https://pkgs.dev.azure.com/dnceng/_packaging/darc-int-dotnet-efcore-509fe041/nuget/v3/index.json" />
<add key="darc-int-dotnet-core-setup-3acd9b0" value="https://pkgs.dev.azure.com/dnceng/_packaging/darc-int-dotnet-core-setup-3acd9b0c/nuget/v3/index.json" />
<add key="darc-int-dotnet-corefx-059a4a1" value="https://pkgs.dev.azure.com/dnceng/_packaging/darc-int-dotnet-corefx-059a4a19/nuget/v3/index.json" />
<add key="darc-int-dotnet-aspnetcore-tooling-d63ec4a" value="https://pkgs.dev.azure.com/dnceng/_packaging/darc-int-dotnet-aspnetcore-tooling-d63ec4a1/nuget/v3/index.json" />
4.安装工具和其他软件
安装vs ,即使已经安装过vs了 ,也推荐执行下面这个脚本。
因为自己安装的vs可能少安装一些组件啥的 ;
run eng/scripts/InstallVisualStudio.ps1.
其他需要安装的还有
- Git. https://git-scm.org
- NodeJS. LTS version of 10.14.2 or newer https://nodejs.org.
- Install yarn globally (npm install -g yarn)
- Java Development Kit 11 or newer. OpenJDK ,Oracle's JDK 都是可以的
配置 JAVA_HOME 环境变量 (这里有点不明白了 ,为啥编译C#需要Java)
5. restore
在powershell中执行 .\restore.cmd ,
这期间还会下载一些压缩包啥的 ,比较耗时, 注意能否访问国外网站;
6. build
还是在powershell中执行 .\build.cmd
也会下载东西,比较耗时,但是耗时比restore花费的少一些
7. 在vs中打开项目
使用脚本 .\src\Mvc\startvs.cmd ,打开vs ;
这个脚本设置了一下启动时需要的变量,推荐使用这个脚本打开vs;
vs启动后 ,可能会出现加载项目失败的情况 ,这时找到根目录的global.json ,修改里面的SDK版本,改成自己电脑上已经安装的SDK版本;
以我的电脑为例,
C:\Windows\system32>dotnet --info
.NET Core SDK(反映任何 global.json):
Version: 3.1.301
Commit: 7feb845744
那么将原来的global.json中的
"sdk": {
"version": "3.1.103"
},
改成
"sdk": {
"version": "3.1.301"
},
重新加载项目即可 ,另外这里面有个sample ,位置是在: 根目录\src\Mvc\samples\MvcSandbox
下载、编译AspNetCore 的全过程的更多相关文章
- (1)redis下载编译
一.redis下载编译 这里没什么好说的 用的版本是redis-2.8.17 1)redis-server是可执行程序 2)mian函数在redis.c里面 3)如果要修改调试 这届在src目录下 ...
- 下载编译Chrome详细步骤
文章来源:http://blog.csdn.net/allendale/article/details/9262833 参考:http://dev.chromium.org/developers/ho ...
- 【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)
分类: Android 系统开发(5) 作者同类文章X 版权声明:本文为博主原创文章 ...
- 更新vs2017 15.9.2后,在指定-T v141_xp情况下载编译会报下面warning MSB8051
更新vs2017 15.9.2后,在指定-T v141_xp情况下载编译会报下面warning: C:\Program Files (x86)\Microsoft Visual Studio\2017 ...
- Spring源码研究--下载-编译-导入eclipse-验证
一,环境配置 操作系统:Unbutu14.04LTS JDK: 1.8.0_40 git: 1.9.1 gradle: 2.2.1 二,源码下载-编译-导入eclipse-验证 1,下载 使用git直 ...
- webrtc所有平台下载编译步骤详细说明
webrtc所有平台下载编译步骤详细说明 1.安装depot tools Windows:国外下载:https://storage.googleapis.com/chrome-infra/depot_ ...
- 下载编译 Android wear 源代码,尝试制作可穿戴设备功能
体验 Android Wear 缘由: Android wear 代码公布已经非常久了.一直没有尝试,这里是个编译的过程和步骤,假设要尝试.本文假定读者已经有下载编译 Android 的经验,假设没 ...
- Android 程序分析环境搭建-Android 9 -代码下载编译
Android 9 -代码下载编译 一,翻墙下载: 1.背景: 背景: 现在Android framework 开发的同学,整体在公司里面解一些无关痛痒的bug,对于Android framework ...
- Ubuntu 下载 & 编译 Android5.1 源码
ustc & tsinghua android srchttps://lug.ustc.edu.cn/wiki/mirrors/help/aosphttps://mirrors.tuna.ts ...
- perl6的介绍与下载编译安装
遇到perl6 一直想认真的学习一门脚本语言或者与之类似的语言,因为相对与c++/c来说,一些工作可以很方便的用脚本语言来解决,比如对于日志文件的处理,自动ftp上传. 也看过不少语言的介绍,比如py ...
随机推荐
- ArcEngine 序列化AO对象
ArcEngine中只要是继承了IPersistStream接口的对象均可调用ArcEngine中的类库进行序列化和反序列化.一般我们会序列化成xml格式,作为字符串存储,需要的时候,反序列化为对象. ...
- python 运算优先级
python 运算优先级,请见下图
- 【leetcode】剑指offer04二维数组查找
很巧妙地把矩阵转化为二叉搜索树(不过好像没什用) class Solution { public: bool findNumberIn2DArray(vector<vector<int&g ...
- 精华推荐 | 【深入浅出RocketMQ原理及实战】「性能原理挖掘系列」透彻剖析贯穿RocketMQ的事务性消息的底层原理并在分析其实际开发场景
什么是事务消息 事务消息(Transactional Message)是指应用本地事务和发送消息操作可以被定义到全局事务中,要么同时成功,要么同时失败.RocketMQ的事务消息提供类似 X/Open ...
- 基于Unet+opencv实现天空对象的分割、替换和美化
传统图像处理算法进行"天空分割"存在精度问题且调参复杂,无法很好地应对云雾.阴霾等情况:本篇文章分享的"基于Unet+opencv实现天空对象的分割.替换和 ...
- WPF 自定义附加事件
我们都知道路由事件,而附加事件用的比较少. 但如果是通用的场景,类似附加属性,附加事件就很有必要的. 举个例子,输入设备有很多种,WPF中输入事件主要分为鼠标.触摸.触笔:WPF 屏幕点击的设备类型 ...
- 使用Git提交代码
目录 1.提交前准备工作 2.代码提交步骤 3.从git上面拉代码 4.Git变更集 5.参考资料 1.提交前准备工作 首先去git官网下载git工具(Git GUI Here.Git Bash He ...
- Hadoop详解(02)Hadoop集群运行环境搭建
Hadoop详解(02)Hadoop集群运行环境搭建 虚拟机环境准备 虚拟机节点数:3台 操作系统版本:CentOS-7.6-x86-1810 虚拟机 内存4G,硬盘99G IP地址分配 192.16 ...
- Linux基础操作-01
Linux操作系统 很多IC设计的EDA工具都是在Linux系统中进行运行的,在IC设计的从业者都需要熟练掌握Linux操做.可以不掌握Linux原理,但是操作要熟练. Linux 操作系统的特点 多 ...
- 基础分类算法_KNN算法
KNN(K-NearestNeighbor)算法 KNN算法是有监督学习中的分类算法. KNN算法很特殊,可以被认为是没有模型的算法,也可以认为其训练数据集就是模型本身. KNN算法的原理 KNN的原 ...