Files
reference/docs/dotnet-cli.html
2025-05-27 06:13:39 +00:00

431 lines
22 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en" data-color-mode="dark">
<head>
<meta charset="utf-8">
<title>.NET CLI 备忘清单
&#x26; dotnet-cli cheatsheet &#x26; Quick Reference</title>
<meta content="width=device-width, initial-scale=1" name="viewport">
<meta description="本备忘单总结了 .NET 命令行接口 (CLI) 工具,以供快速参考
.NET CLI 备忘清单,为开发人员分享快速参考备忘单。">
<meta keywords="dotnet-cli,reference,Quick,Reference,cheatsheet,cheat,sheet">
<meta name="author" content="jaywcjlove">
<meta name="license" content="MIT">
<meta name="funding" content="https://jaywcjlove.github.io/#/sponsor">
<meta rel="apple-touch-icon" href="../icons/touch-icon-iphone.png">
<meta rel="apple-touch-icon" sizes="152x152" href="../icons/touch-icon-ipad.png">
<meta rel="apple-touch-icon" sizes="180x180" href="../icons/touch-icon-iphone.png">
<meta rel="apple-touch-icon" sizes="167x167" href="../icons/touch-icon-ipad-retina.png">
<meta rel="apple-touch-icon" sizes="120x120" href="../icons/touch-icon-iphone-retina.png">
<link rel="icon" href="../icons/favicon.svg" type="image/svg+xml">
<link href="../style/style.css" rel="stylesheet">
<link href="../style/katex.css" rel="stylesheet">
</head>
<body><nav class="header-nav"><div class="max-container"><a href="../index.html" class="logo"><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" height="1em" width="1em">
<path d="m21.66 10.44-.98 4.18c-.84 3.61-2.5 5.07-5.62 4.77-.5-.04-1.04-.13-1.62-.27l-1.68-.4c-4.17-.99-5.46-3.05-4.48-7.23l.98-4.19c.2-.85.44-1.59.74-2.2 1.17-2.42 3.16-3.07 6.5-2.28l1.67.39c4.19.98 5.47 3.05 4.49 7.23Z" fill="#c9d1d9"></path>
<path d="M15.06 19.39c-.62.42-1.4.77-2.35 1.08l-1.58.52c-3.97 1.28-6.06.21-7.35-3.76L2.5 13.28c-1.28-3.97-.22-6.07 3.75-7.35l1.58-.52c.41-.13.8-.24 1.17-.31-.3.61-.54 1.35-.74 2.2l-.98 4.19c-.98 4.18.31 6.24 4.48 7.23l1.68.4c.58.14 1.12.23 1.62.27Zm2.43-8.88c-.06 0-.12-.01-.19-.02l-4.85-1.23a.75.75 0 0 1 .37-1.45l4.85 1.23a.748.748 0 0 1-.18 1.47Z" fill="#228e6c"></path>
<path d="M14.56 13.89c-.06 0-.12-.01-.19-.02l-2.91-.74a.75.75 0 0 1 .37-1.45l2.91.74c.4.1.64.51.54.91-.08.34-.38.56-.72.56Z" fill="#228e6c"></path>
</svg>
<span class="title">Quick Reference</span></a><div class="menu"><a href="javascript:void(0);" class="searchbtn" id="searchbtn"><svg xmlns="http://www.w3.org/2000/svg" height="1em" width="1em" viewBox="0 0 18 18">
<path fill="currentColor" d="M17.71,16.29 L14.31,12.9 C15.4069846,11.5024547 16.0022094,9.77665502 16,8 C16,3.581722 12.418278,0 8,0 C3.581722,0 0,3.581722 0,8 C0,12.418278 3.581722,16 8,16 C9.77665502,16.0022094 11.5024547,15.4069846 12.9,14.31 L16.29,17.71 C16.4777666,17.8993127 16.7333625,18.0057983 17,18.0057983 C17.2666375,18.0057983 17.5222334,17.8993127 17.71,17.71 C17.8993127,17.5222334 18.0057983,17.2666375 18.0057983,17 C18.0057983,16.7333625 17.8993127,16.4777666 17.71,16.29 Z M2,8 C2,4.6862915 4.6862915,2 8,2 C11.3137085,2 14,4.6862915 14,8 C14,11.3137085 11.3137085,14 8,14 C4.6862915,14 2,11.3137085 2,8 Z"></path>
</svg><span>搜索</span><span>⌘K</span></a><a href="https://github.com/jaywcjlove/reference/blob/main/docs/dotnet-cli.md" class="edit" target="__blank"><svg viewBox="0 0 36 36" fill="currentColor" height="1em" width="1em"><path d="m33 6.4-3.7-3.7a1.71 1.71 0 0 0-2.36 0L23.65 6H6a2 2 0 0 0-2 2v22a2 2 0 0 0 2 2h22a2 2 0 0 0 2-2V11.76l3-3a1.67 1.67 0 0 0 0-2.36ZM18.83 20.13l-4.19.93 1-4.15 9.55-9.57 3.23 3.23ZM29.5 9.43 26.27 6.2l1.85-1.85 3.23 3.23Z"></path><path fill="none" d="M0 0h36v36H0z"></path></svg><span>编辑</span></a><button id="darkMode" type="button"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="light" height="1em" width="1em">
<path d="M6.995 12c0 2.761 2.246 5.007 5.007 5.007s5.007-2.246 5.007-5.007-2.246-5.007-5.007-5.007S6.995 9.239 6.995 12zM11 19h2v3h-2zm0-17h2v3h-2zm-9 9h3v2H2zm17 0h3v2h-3zM5.637 19.778l-1.414-1.414 2.121-2.121 1.414 1.414zM16.242 6.344l2.122-2.122 1.414 1.414-2.122 2.122zM6.344 7.759 4.223 5.637l1.415-1.414 2.12 2.122zm13.434 10.605-1.414 1.414-2.122-2.122 1.414-1.414z"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" class="dark" height="1em" width="1em">
<path d="M12 11.807A9.002 9.002 0 0 1 10.049 2a9.942 9.942 0 0 0-5.12 2.735c-3.905 3.905-3.905 10.237 0 14.142 3.906 3.906 10.237 3.905 14.143 0a9.946 9.946 0 0 0 2.735-5.119A9.003 9.003 0 0 1 12 11.807z"></path>
</svg>
</button><script src="../js/dark.js?v=1.8.3"></script><a href="https://github.com/jaywcjlove/reference" class="" target="__blank"><svg viewBox="0 0 16 16" fill="currentColor" height="1em" width="1em"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path></svg></a></div></div></nav><div class="wrap h1body-exist max-container"><header class="wrap-header h1wrap"><h1 id="net-cli-备忘清单"><svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em">
<path d="M107.946667 838.4l57.173333 23.893333v-385.28l-103.68 250.026667c-17.493333 43.52 3.413333 93.44 46.506667 111.36z m832-157.866667L728.32 169.813333a85.888 85.888 0 0 0-77.226667-52.48c-11.093333 0-22.613333 1.706667-33.706666 6.4L302.933333 253.866667a85.290667 85.290667 0 0 0-46.08 110.933333l211.626667 510.72a85.248 85.248 0 0 0 110.933333 46.08l314.026667-130.133333a85.077333 85.077333 0 0 0 46.506667-110.933334zM336.213333 373.333333c-23.466667 0-42.666667-19.2-42.666666-42.666666s19.2-42.666667 42.666666-42.666667 42.666667 19.2 42.666667 42.666667-19.2 42.666667-42.666667 42.666666z m-85.333333 469.333334c0 46.933333 38.4 85.333333 85.333333 85.333333h61.866667l-147.2-355.84v270.506667z"></path>
</svg><a aria-hidden="true" tabindex="-1" href="#net-cli-备忘清单"><span class="icon icon-link"></span></a>.NET CLI 备忘清单</h1><div class="wrap-body">
<p>本备忘单总结了 <a href="https://learn.microsoft.com/zh-cn/dotnet/core/tools/">.NET</a> 命令行接口 (CLI) 工具,以供快速参考</p>
</div></header><div class="menu-tocs"><div class="menu-btn"><svg aria-hidden="true" fill="currentColor" height="1em" width="1em" viewBox="0 0 16 16" version="1.1" data-view-component="true">
<path fill-rule="evenodd" d="M2 4a1 1 0 100-2 1 1 0 000 2zm3.75-1.5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zM3 8a1 1 0 11-2 0 1 1 0 012 0zm-1 6a1 1 0 100-2 1 1 0 000 2z"></path>
</svg></div><div class="menu-modal"><a aria-hidden="true" class="leve2 tocs-link" data-num="2" href="#net-cli-备忘清单-1">.NET CLI 备忘清单</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#介绍">介绍</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#基本命令">基本命令</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#项目修改命令">项目修改命令</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#工作负荷管理命令">工作负荷管理命令</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#nuget-命令">NuGet 命令</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#高级命令">高级命令</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#工具管理命令">工具管理命令</a><a aria-hidden="true" class="leve2 tocs-link" data-num="2" href="#另请参阅">另请参阅</a></div></div><div class="h1wrap-body"><div class="wrap h2body-exist"><div class="wrap-header h2wrap"><h2 style="display: none;" id="net-cli-备忘清单-1"><a aria-hidden="true" tabindex="-1" href="#net-cli-备忘清单-1"><span class="icon icon-link"></span></a>.NET CLI 备忘清单</h2><div class="wrap-body">
<!--rehype:style=display: none;-->
</div></div><div class="h2wrap-body"><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="介绍"><a aria-hidden="true" tabindex="-1" href="#介绍"><span class="icon icon-link"></span></a>介绍</h3><div class="wrap-body">
<p><code>.NET CLI</code> 命令由 <strong>驱动程序(<code>dotnet</code></strong><strong>命令</strong><strong>参数</strong><strong>选项</strong> 组成。典型流程如下:</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token comment"># 创建控制台应用</span>
</span><span class="code-line">dotnet new console
</span><span class="code-line"><span class="token comment"># 构建并指定输出目录</span>
</span><span class="code-line">dotnet build <span class="token parameter variable">--output</span> ./build_output
</span><span class="code-line"><span class="token comment"># 运行构建结果</span>
</span><span class="code-line">dotnet ./build_output/my_app.dll
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="基本命令"><a aria-hidden="true" tabindex="-1" href="#基本命令"><span class="icon icon-link"></span></a>基本命令</h3><div class="wrap-body">
<!--rehype:wrap-class=col-span-2 row-span-2-->
<table class="left-align "><thead><tr><th>命令</th><th>说明</th><th>示例</th></tr></thead><tbody><tr><td><code>new</code></td><td>创建新项目或文件模板</td><td><code>dotnet new console</code></td></tr><tr><td><code>restore</code></td><td>还原项目依赖项</td><td><code>dotnet restore</code></td></tr><tr><td><code>build</code></td><td>构建项目</td><td><code>dotnet build</code></td></tr><tr><td><code>publish</code></td><td>发布应用以部署</td><td><code>dotnet publish -c Release -o ./publish</code></td></tr><tr><td><code>run</code></td><td>运行项目</td><td><code>dotnet run</code></td></tr><tr><td><code>test</code></td><td>运行测试(使用 xUnit/NUnit 等)</td><td><code>dotnet test</code></td></tr><tr><td><code>vstest</code></td><td>运行已编译的测试程序集</td><td><code>dotnet vstest ./bin/Debug/test.dll</code></td></tr><tr><td><code>pack</code></td><td>打包为 NuGet 包</td><td><code>dotnet pack</code></td></tr><tr><td><code>migrate</code></td><td>迁移旧版项目(已弃用)</td><td><code>dotnet migrate</code></td></tr><tr><td><code>clean</code></td><td>清理构建输出</td><td><code>dotnet clean</code></td></tr><tr><td><code>sln</code></td><td>管理 <code>.sln</code> 解决方案文件</td><td><code>dotnet sln add ./MyApp/MyApp.csproj</code></td></tr><tr><td><code>help</code></td><td>显示帮助信息</td><td><code>dotnet help build</code></td></tr><tr><td><code>store</code></td><td>预编译和缓存程序集(高级用法)</td><td><code>dotnet store</code></td></tr><tr><td><code>watch</code></td><td>监视文件更改并自动运行命令</td><td><code>dotnet watch run</code></td></tr><tr><td><code>format</code></td><td>格式化代码(自 .NET 6 起支持)</td><td><code>dotnet format</code></td></tr></tbody></table>
<!--rehype:className=left-align -->
</div></div></div><div class="wrap h3body-not-exist row-span-2"><div class="wrap-header h3wrap"><h3 id="项目修改命令"><a aria-hidden="true" tabindex="-1" href="#项目修改命令"><span class="icon icon-link"></span></a>项目修改命令</h3><div class="wrap-body">
<!--rehype:wrap-class=row-span-2-->
<table class="left-align style-list-arrow"><thead><tr><th>命令</th><th>说明</th><th>示例</th></tr></thead><tbody><tr><td><code>package add</code></td><td>添加 NuGet 包依赖</td><td><code>dotnet add package Newtonsoft.Json</code></td></tr><tr><td><code>package list</code></td><td>列出项目中的所有包依赖</td><td><code>dotnet list package</code></td></tr><tr><td><code>package remove</code></td><td>移除 NuGet 包依赖</td><td><code>dotnet remove package Newtonsoft.Json</code></td></tr><tr><td><code>package search</code></td><td>搜索 NuGet 包</td><td><code>dotnet search package Newtonsoft.Json</code></td></tr><tr><td><code>reference add</code></td><td>添加项目引用(*.csproj</td><td><code>dotnet add reference ../CommonLib/CommonLib.csproj</code></td></tr><tr><td><code>reference list</code></td><td>列出当前项目引用的其他项目</td><td><code>dotnet list reference</code></td></tr><tr><td><code>reference remove</code></td><td>移除项目引用</td><td><code>dotnet remove reference ../CommonLib/CommonLib.csproj</code></td></tr></tbody></table>
<!--rehype:className=left-align style-list-arrow-->
</div></div></div><div class="wrap h3body-not-exist col-span-2"><div class="wrap-header h3wrap"><h3 id="工作负荷管理命令"><a aria-hidden="true" tabindex="-1" href="#工作负荷管理命令"><span class="icon icon-link"></span></a>工作负荷管理命令</h3><div class="wrap-body">
<!--rehype:wrap-class=col-span-2-->
<table class="left-align"><thead><tr><th>命令</th><th>说明</th><th>示例</th></tr></thead><tbody><tr><td><code>workload</code></td><td>顶级命令,显示所有 workload 子命令</td><td><code>dotnet workload --help</code></td></tr><tr><td><code>workload install</code></td><td>安装指定的工作负荷(如 MAUI、Web 等)</td><td><code>dotnet workload install maui</code></td></tr><tr><td><code>workload uninstall</code></td><td>卸载指定的工作负荷</td><td><code>dotnet workload uninstall maui</code></td></tr><tr><td><code>workload update</code></td><td>更新所有已安装的工作负荷</td><td><code>dotnet workload update</code></td></tr><tr><td><code>workload list</code></td><td>显示当前已安装的工作负荷</td><td><code>dotnet workload list</code></td></tr><tr><td><code>workload restore</code></td><td>还原项目所需的工作负荷</td><td><code>dotnet workload restore</code></td></tr><tr><td><code>workload search</code></td><td>搜索可用的工作负荷</td><td><code>dotnet workload search</code></td></tr><tr><td><code>workload repair</code></td><td>修复已安装的工作负荷</td><td><code>dotnet workload repair</code></td></tr><tr><td><code>workload config</code></td><td>配置自定义源、缓存路径等(.NET 8.0.400+</td><td><code>dotnet workload config list</code></td></tr></tbody></table>
<!--rehype:className=left-align-->
</div></div></div><div class="wrap h3body-not-exist col-span-3"><div class="wrap-header h3wrap"><h3 id="nuget-命令"><a aria-hidden="true" tabindex="-1" href="#nuget-命令"><span class="icon icon-link"></span></a>NuGet 命令</h3><div class="wrap-body">
<!--rehype:wrap-class=col-span-3-->
<table class="left-align"><thead><tr><th>命令</th><th>说明</th><th>示例</th></tr></thead><tbody><tr><td><code>nuget delete</code></td><td>从源中删除一个 NuGet 包</td><td><code>dotnet nuget delete MyLib 1.0.0 -s https://api.nuget.org/v3/index.json</code></td></tr><tr><td><code>nuget locals</code></td><td>清理 NuGet 缓存</td><td><code>dotnet nuget locals all --clear</code></td></tr><tr><td><code>nuget push</code></td><td>将 NuGet 包推送到服务器(如 nuget.org</td><td><code>dotnet nuget push MyLib.1.0.0.nupkg -k API_KEY -s https://api.nuget.org/v3/index.json</code></td></tr><tr><td><code>nuget add source</code></td><td>添加一个新的 NuGet 源</td><td><code>dotnet nuget add source https://myserver/index.json -n MySource</code></td></tr><tr><td><code>nuget disable source</code></td><td>禁用一个现有的 NuGet 源</td><td><code>dotnet nuget disable source MySource</code></td></tr><tr><td><code>nuget enable source</code></td><td>启用已禁用的 NuGet 源</td><td><code>dotnet nuget enable source MySource</code></td></tr><tr><td><code>nuget list source</code></td><td>列出所有已配置的 NuGet 源</td><td><code>dotnet nuget list source</code></td></tr><tr><td><code>nuget remove source</code></td><td>移除已配置的 NuGet 源</td><td><code>dotnet nuget remove source MySource</code></td></tr><tr><td><code>nuget update source</code></td><td>更新现有 NuGet 源信息</td><td><code>dotnet nuget update source MySource -s https://new-url</code></td></tr><tr><td><code>nuget verify</code></td><td>验证 NuGet 包签名(.NET 5+</td><td><code>dotnet nuget verify MyLib.1.0.0.nupkg</code></td></tr><tr><td><code>nuget trust</code></td><td>管理受信任的签名证书(.NET 5+</td><td><code>dotnet nuget trust list</code></td></tr><tr><td><code>nuget sign</code></td><td>对 NuGet 包进行签名(.NET 6+</td><td><code>dotnet nuget sign MyLib.1.0.0.nupkg --certificate-path cert.pfx</code></td></tr><tr><td><code>package search</code></td><td>搜索 NuGet 包(.NET 8.0.2xx+</td><td><code>dotnet package search Newtonsoft.Json</code></td></tr><tr><td><code>nuget why</code></td><td>显示为什么某个包被安装(.NET 8.0.4xx+</td><td><code>dotnet nuget why Newtonsoft.Json</code></td></tr></tbody></table>
<!--rehype:className=left-align-->
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="高级命令"><a aria-hidden="true" tabindex="-1" href="#高级命令"><span class="icon icon-link"></span></a>高级命令</h3><div class="wrap-body">
<table class="left-align style-list-arrow"><thead><tr><th>命令</th><th>说明</th><th>示例</th></tr></thead><tbody><tr><td><code>sdk check</code></td><td>显示可用的 SDK/运行时版本,并检测更新</td><td><code>dotnet sdk check</code></td></tr><tr><td><code>msbuild</code></td><td>使用 MSBuild 构建项目(提供更多构建自定义性)</td><td><code>dotnet msbuild /t:Clean;Build /p:Configuration=Release</code></td></tr><tr><td><code>build-server</code></td><td>管理后端构建服务器(如清理缓存、关闭等)</td><td><code>dotnet build-server shutdown</code></td></tr><tr><td><code>dev-certs</code></td><td>管理开发 HTTPS 证书</td><td><code>dotnet dev-certs https --trust</code></td></tr><tr><td><code>dotnet install script</code></td><td>获取可安装指定版本 .NET 的脚本Linux/macOS</td><td><code>curl -sSL https://dot.net/v1/dotnet-install.sh | bash</code></td></tr></tbody></table>
<!--rehype:className=left-align style-list-arrow-->
</div></div></div><div class="wrap h3body-not-exist col-span-2"><div class="wrap-header h3wrap"><h3 id="工具管理命令"><a aria-hidden="true" tabindex="-1" href="#工具管理命令"><span class="icon icon-link"></span></a>工具管理命令</h3><div class="wrap-body">
<!--rehype:wrap-class=col-span-2-->
<table class="left-align"><thead><tr><th>命令</th><th>说明</th><th>示例</th></tr></thead><tbody><tr><td><code>tool install</code></td><td>安装 .NET 工具(本地或全局)</td><td><code>dotnet tool install -g dotnet-ef</code></td></tr><tr><td><code>tool list</code></td><td>列出已安装的工具</td><td><code>dotnet tool list -g</code></td></tr><tr><td><code>tool update</code></td><td>更新指定工具</td><td><code>dotnet tool update -g dotnet-ef</code></td></tr><tr><td><code>tool restore</code></td><td>恢复项目中定义的工具(基于 manifest</td><td><code>dotnet tool restore</code></td></tr><tr><td><code>tool run</code></td><td>运行本地安装的工具</td><td><code>dotnet tool run my-tool</code></td></tr><tr><td><code>tool uninstall</code></td><td>卸载已安装的工具</td><td><code>dotnet tool uninstall -g dotnet-ef</code></td></tr><tr><td><code>tool search</code></td><td>搜索 NuGet 上可用的工具</td><td><code>dotnet tool search dotnet-ef</code></td></tr></tbody></table>
<!--rehype:className=left-align-->
</div></div></div></div></div><div class="wrap h2body-not-exist"><div class="wrap-header h2wrap"><h2 id="另请参阅"><a aria-hidden="true" tabindex="-1" href="#另请参阅"><span class="icon icon-link"></span></a>另请参阅</h2><div class="wrap-body">
<ul>
<li><a href="https://github.com/dotnet/sdk/">dotnet/sdk GitHub 存储库</a> <em>(github.com/dotnet)</em></li>
<li><a href="https://learn.microsoft.com/zh-cn/dotnet/core/install/windows">.NET 安装指南</a> <em>(learn.microsoft.com)</em></li>
</ul>
</div></div><div class="h2wrap-body"></div></div></div><script src="https://giscus.app/client.js" data-repo="jaywcjlove/reference" data-repo-id="R_kgDOID2-Mw" data-category="Q&#x26;A" data-category-id="DIC_kwDOID2-M84CS5wo" data-mapping="pathname" data-strict="0" data-reactions-enabled="1" data-emit-metadata="0" data-input-position="bottom" data-theme="dark" data-lang="zh-CN" crossorigin="anonymous" async></script><div class="giscus"></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 <a href="https://wangchujiang.com/#/app" target="_blank">Kenny Wang</a>.</footer></footer><script src="../data.js?v=1.8.3" defer></script><script src="../js/fuse.min.js?v=1.8.3" defer></script><script src="../js/main.js?v=1.8.3" defer></script><div id="mysearch"><div class="mysearch-box"><div class="mysearch-input"><div><svg xmlns="http://www.w3.org/2000/svg" height="1em" width="1em" viewBox="0 0 18 18">
<path fill="currentColor" d="M17.71,16.29 L14.31,12.9 C15.4069846,11.5024547 16.0022094,9.77665502 16,8 C16,3.581722 12.418278,0 8,0 C3.581722,0 0,3.581722 0,8 C0,12.418278 3.581722,16 8,16 C9.77665502,16.0022094 11.5024547,15.4069846 12.9,14.31 L16.29,17.71 C16.4777666,17.8993127 16.7333625,18.0057983 17,18.0057983 C17.2666375,18.0057983 17.5222334,17.8993127 17.71,17.71 C17.8993127,17.5222334 18.0057983,17.2666375 18.0057983,17 C18.0057983,16.7333625 17.8993127,16.4777666 17.71,16.29 Z M2,8 C2,4.6862915 4.6862915,2 8,2 C11.3137085,2 14,4.6862915 14,8 C14,11.3137085 11.3137085,14 8,14 C4.6862915,14 2,11.3137085 2,8 Z"></path>
</svg><input id="mysearch-input" type="search" placeholder="搜索" autocomplete="off"><div class="mysearch-clear"></div></div><button id="mysearch-close" type="button">搜索</button></div><div class="mysearch-result"><div id="mysearch-menu"></div><div id="mysearch-content"></div></div></div></div></body>
</html>