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. (1)redis下载编译

    一.redis下载编译 这里没什么好说的 用的版本是redis-2.8.17 1)redis-server是可执行程序 2)mian函数在redis.c里面 3)如果要修改调试 这届在src目录下   ...

  2. 下载编译Chrome详细步骤

    文章来源:http://blog.csdn.net/allendale/article/details/9262833 参考:http://dev.chromium.org/developers/ho ...

  3. 【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)

                 分类: Android 系统开发(5)                                              作者同类文章X 版权声明:本文为博主原创文章 ...

  4. 更新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 ...

  5. Spring源码研究--下载-编译-导入eclipse-验证

    一,环境配置 操作系统:Unbutu14.04LTS JDK: 1.8.0_40 git: 1.9.1 gradle: 2.2.1 二,源码下载-编译-导入eclipse-验证 1,下载 使用git直 ...

  6. webrtc所有平台下载编译步骤详细说明

    webrtc所有平台下载编译步骤详细说明 1.安装depot tools Windows:国外下载:https://storage.googleapis.com/chrome-infra/depot_ ...

  7. 下载编译 Android wear 源代码,尝试制作可穿戴设备功能

    体验 Android Wear 缘由: Android wear 代码公布已经非常久了.一直没有尝试,这里是个编译的过程和步骤,假设要尝试.本文假定读者已经有下载编译 Android  的经验,假设没 ...

  8. Android 程序分析环境搭建-Android 9 -代码下载编译

    Android 9 -代码下载编译 一,翻墙下载: 1.背景: 背景: 现在Android framework 开发的同学,整体在公司里面解一些无关痛痒的bug,对于Android framework ...

  9. Ubuntu 下载 & 编译 Android5.1 源码

    ustc & tsinghua android srchttps://lug.ustc.edu.cn/wiki/mirrors/help/aosphttps://mirrors.tuna.ts ...

  10. perl6的介绍与下载编译安装

    遇到perl6 一直想认真的学习一门脚本语言或者与之类似的语言,因为相对与c++/c来说,一些工作可以很方便的用脚本语言来解决,比如对于日志文件的处理,自动ftp上传. 也看过不少语言的介绍,比如py ...

随机推荐

  1. redis集群之主从复制集群的原理和部署

    最近在复盘redis的知识,所以本文开始希望介绍下redis的集群架构.原理以及部署:本文主要介绍redis的主从复制集群,包括其架构模型,原理,高可用等: 一.主从集群的介绍   redis的主从复 ...

  2. 如何搭建自己的CICD流水线,实现自动编译部署功能?

    之前使用过GitLab的CICD流水线,有多种环境,点击即可编译部署,十分的方便. 如何在个人项目中搭建自己的CICD流水线,实现push代码后自动编译并部署呢?这里使用到阿里云 云效DevOps,阿 ...

  3. 为什么 Random.Shared 是线程安全的

    在多线程环境中使用 Random 类来生成伪随机数时,很容易出现线程安全问题.例如,当多个线程同时调用 Next 方法时,可能会出现种子被意外修改的情况,导致生成的伪随机数不符合预期. 为了避免这种情 ...

  4. .Net执行SQL/存储过程之易用轻量工具

    支持.Net/.Net Core/.Net Framework,可以部署在Docker, Windows, Linux, Mac. 由于该工具近来被广东省数个公司2B项目采用,且表现稳定,得到良好验证 ...

  5. 微服务系列之服务监控 Prometheus与Grafana

    1.为什么需要监控服务   监控服务的所属服务器硬件(如cpu,内存,磁盘I/O等)指标.服务本身的(如gc频率.线程池大小.锁争用情况.请求.响应.自定义业务指标),对于以前的小型单体服务来说,确实 ...

  6. 手动解析word Table模块内容

    最近来了一个需求, 需要手动解析word ( 好处就是不需要安装office 以及不会有office解析的线程残留),然后就是可以自定义解析规则,比较方便 比如解析这个word里面的内容: 标题,表格 ...

  7. 每个Java程序员都必须知道的四种负载均衡算法

    前言 一般来说,我们在设计系统的时候,为了系统的高扩展性,会尽可能的创建无状态的系统,这样我们就可以采用集群的方式部署,最终很方便的根据需要动态增减服务器数量.但是,要使系统具有更好的可扩展性,除了无 ...

  8. elasticsearch之exists查询

    一.exists查询简介 elastic search提供了exists查询,用以返回字段存在值的记录,默认情况下只有字段的值为null或者[]的时候,elasticsearch才会认为字段不存在: ...

  9. Kafka初学习

    Kafka初学习   摘要:在之前的消息队列学习中,我已经了解了消息队列的基本概念以及基本用法,同时也了解到了市面上的几款消息队列中间件,其中我了解到了卡夫卡这款消息队列中间件是一款最为快速的消息队列 ...

  10. mysql 简单查询

    查询特定列SELECT ename,birthday FROM emp; 查询所有的select*from emp; 给列起别名select ename AS 姓名, salary AS 工资 FRO ...