创建 ASP.NET 核心 SQL 缓存 table

Creating ASP.NET Core SQL Cache table

我正在尝试使用 CLI 为 ASP.NET Core 2.0 生成分布式 SQL 服务器缓存,但我只收到一个错误。指令说要执行

dotnet sql-cache create <connection string>  <schema>  <table name>

但是当我这样做时,它只是响应 No executable found matching command "dotnet-sql-cache"

我已经在该项目上安装了 Microsoft.Extensions.Caching.SqlConfig.Tools 2.0.0。所以它应该从项目根目录开始工作,不是吗?

当我执行 dotnet -h 时,我得到 .NET Command Line Tools (2.0.2) 等。令人惊讶的是,SDK 命令中没有列出 sql-cache,以及 new、restore、运行, migrate 等不应该吗?

当我通过 CLI 或包管理器使用 Nuget 时,我发现安装某些工具很麻烦。过去我不得不直接在 csproj 文件中安装一个工具。检查您的 csproj 文件并查看 SqlConfig 的安装是否生效。如果它不只是添加它和 运行 一个 dotnet 恢复。以下是如何 "hard code" 该工具的示例。 ```

<ItemGroup>
<DotNetCliToolReference 
     Include="Microsoft.Extensions.Caching.SqlConfig.Tools" 
     Version="2.0.0" />
</ItemGroup>

此外,这里有一个link去哪里对issue有更好的解释。它还建议安装 Microsoft.Extensions.Caching.SqlServer 如果您还没有这样做,但我会先尝试这个解决方案。希望这可以帮助。

例如我使用了命令:

dotnet sql-cache create "Data Source=.\Ganimedes;Initial Catalog=DistCache;Integrated Security=True;" dbo SessionCache_Test

来自 PowerShell 控制台。我不需要留在 Visual Studio 来做这件事。该命令是 .Net Core SDK 的一部分,您可以从命令行控制台(cmd、powershell、pwsh)使用它。

我安装了 .Net Core 2.1,这是 dotnet --info 的结果:

.NET Core SDK (reflecting any global.json):
 Version:   2.1.502
 Commit:    c74ce8f29f

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.17763
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk.1.502\

Host (useful for support):
  Version: 2.1.6
  Commit:  3f4f8eebd8

.NET Core SDKs installed:
  1.1.0 [C:\Program Files\dotnet\sdk]
  2.0.2 [C:\Program Files\dotnet\sdk]
  2.1.4 [C:\Program Files\dotnet\sdk]
  2.1.202 [C:\Program Files\dotnet\sdk]
  2.1.403 [C:\Program Files\dotnet\sdk]
  2.1.502 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 1.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 1.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

我在安装这个工具时遇到了很多麻烦,唯一对我有用的解决方案是来自@PAS 的解决方案,但只有在将确切的 .Net Core 版本 添加到程序包之后安装程序。

安装最新的或者甚至稍有不同的版本如 3.1.2 惨遭失败。

因此,命令行变为:

dotnet tool install --global dotnet-sql-cache --version 3.1.0