zoukankan      html  css  js  c++  java
  • Asp.Net Core 源码之 extensions 从源码生成成功.

    前言,

    1.你看到这篇文章的时候,如果你还没尝试过生成源代码,你可以先试着按照自己的丝路来搞一遍.这样更好一点.
    因为直接给你一个已经运行成功的范本,但是我没有具体来说我其中的坑.,
    最终你可能也会运行成功,但是一些解题的思路可能没有增加.
    就是你虽然解决了问题,但是解决问题的能力没有提升.

    2.看了这篇文章你也不一定能生成成功,有没有帮助在看具体情况吧...

    我的基本环境配置

    [
        "系统":"Windows 10 专业版",
        "Visual Studio":"Visual Studio 2019",    
    ]
    

    从Github源代码克隆到本地

    Github源地址
    https://github.com/dotnet/extensions


    先Fork到自己的仓库中,会不会更好点?
    将这个项目Fork到自己的库中,这样就可以修改完提交到本地库了.

    "Fork your own copy of dotnet/extionsions to your account."


    Git命令

    git clone --recursive https://github.com/dotnet/extensions.git
    

    看下最终到本地的样子
    克隆到本地上根目录大概是这个样子.


    切换源代码分支

    先查看下Tag

    git tag
    

    如果Tag太多的话,输入":q"可以返回.


    切换分支

    git checkout v3.1.0
    



    查看项目里面自带的文档

    {README.md}
    其实这是一个项目的概览,
    对于此次生成并没有太大帮助.
    但是作为一个好习惯,还是先看下这个文档.


    {.docsBuildFromSource.md}
    我觉得这个是此次生成过程中的重点.必看.

    Building Extensions on Windows requires:

    Building in Visual Studio
    Visual Studio requires special tools and command lien parameters.
    You can acquire these by executing the following on command-line:

    .
    estore.cmd
    .startvs.cmd
    

    This will download required tools and start Visual Studio
    with the correct environment variables.

    备注:执行上面的2个命令,可是费劲不少...


    {restore.cmd}&{startvs.cmd}命令如果卡在下载sdk阶段.

    每次执行命令,
    都会提示:

    .NET Core has not yet been instanlled .Running restore.cmd to install it.
    dotnet-install:Downloading link : https://dotnetcli.azureedge.net/dotnet/Sdk/3.1.301/dotnet-sdk-3.1.301-win-x64.zip

    我用命令"dotnet --list-sdks"之后发现明明已经安装了Sdk了.

    因为命令一直执行不成功,卡在下载SDK那里,
    反正项目怎么都运行不起来,
    那几天这个问题不解决总感觉像块石头压在心里,
    关键网络上资源比较少,最后实在顶不住了,
    抱着试试的态度,
    用我简陋的English去Git.Issues上提了一个问题.
    问题意思大概就是,明明系统中已经安装了Sdk了,
    为什么还要下载这个Sdk?
    这里贴一下,热心人士给出的推理和建议.

    startvs.cmd checks to see if there is already a local dotnet installation,
    relative to where this repo is checked out on your box.
    If you just check out this repo and run startvs.cmd,
    it will install dotnet in a folder named .dotnet relative to the repo root - it doesn't care about the global dotnet installation on your machine.
    If you run restore.cmd then startvs.cmd,
    then startvs shouldn't need to install dotnet again.

    最终意思大概是要在项目根目录下的子目录{.dotnet}下应该有这个Sdk,
    我就将这个链接https://dotnetcli.azureedge.net/dotnet/Sdk/3.1.301/dotnet-sdk-3.1.301-win-x64.zip自己先下载下来,
    然后解压缩,放到根目录的{.dotnet}目录下.
    然后再次还原了项目,竟然就可以了.


    最终这两个命令顺利执行成功

    .
    estore.cmd
    .startvs.cmd
    

    运行该解决方案.

    Visual Studio报错

    Detailed Information:
    无法找到 .NET Core SDK。请检查确保已安装此项且 global.json 中指定的版本(如有)与所安装的版本相匹配。


    cmd命令下和global.json中{Sdks}版本对比下

    dotnet --info
    

    将{global.json}中的Sdks版本改成"3.1.301"

    终于生成不报错了.

    遗留问题:还有1个未解决的问题.依赖项.黄色感叹号

    这个随缘吧,以后搜到了原因再说...
    我要先看源代码了...

    磕磕绊绊的过程...

    看着文章写得一个步骤一个步骤下来的.
    但是谁搞谁知道,没准哪个步骤就会出现问题,
    特别是第一次研究开源项目,更是各种坑.

    我刚开始研究开源项目的时候,以为直接下来下来源码就能生成成功的...
    然后各种失败之后,
    去搜索网络上的教程,知道要先切Git分支,
    老老实实去读各种文档↓
    {README.md}
    {/docs/BuildFromSource.md}

    特别是上面的都搞定之后,卡在这里好几天.

    .
    estore.cmd
    .startvs.cmd
    

    万事开头难,但是开始的时候,也是学到最多的时候...

    扩展学习

  • 相关阅读:
    从美国单身男女的分布图说起纵论视觉化叙述
    职场笔记[0702]:用户体验和创业
    写《回国驯火记》的那个安普若
    《成长比成功更重要》的得失之间[Updated]
    什么时候你可以创业?
    技术英雄会【二】:问CSDN一个信息过滤器的问题
    技术英雄会【四】:也谈如何发掘到需要的内容和英雄
    技术英雄会【新闻】新浪/网易新闻:CSDN最有价值博客TOP10颁奖【图】
    技术英雄会【一】:问周鸿祎一个问题
    自然语言处理能够把全网内容组织到什么程度?
  • 原文地址:https://www.cnblogs.com/love-zf/p/13193215.html
Copyright © 2011-2022 走看看