前言,
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}
其实这是一个项目的概览,
对于此次生成并没有太大帮助.
但是作为一个好习惯,还是先看下这个文档.
{.\docs\BuildFromSource.md}
我觉得这个是此次生成过程中的重点.必看.
Building Extensions on Windows requires:
- Windows 7 or higher
- At least 5 GB of disk space and a good internet connection
(our build scripts >download a lot of tools and dependencies)- Visual Studio 2019. https://visualstudio.com
- Git. https://git-scm.org
Building in Visual Studio
Visual Studio requires special tools and command lien parameters.
You can acquire these by executing the following on command-line:
.\restore.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}目录下.
然后再次还原了项目,竟然就可以了.
最终这两个命令顺利执行成功
.\restore.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}
特别是上面的都搞定之后,卡在这里好几天.
.\restore.cmd
.\startvs.cmd
万事开头难,但是开始的时候,也是学到最多的时候...