创建 ASP.NET Core SQL 缓存表

12

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

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)等内容。令人惊讶的是,sql-cache没有列在那些SDK命令中,与new、restore、run、migrate等一起。难道不应该出现在其中吗?

3个回答

11

我在安装这个工具时遇到了很多麻烦,唯一有效的解决方案是来自@PAS的那个,在软件包安装程序中添加了确切的 .Net Core 版本后才奏效。

安装最新版本或甚至稍微不同的版本(如 3.1.2)都失败了。

因此,命令行变成:

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

3

当我使用Nuget CLI或包管理器时,安装某些工具可能会很麻烦。在过去,我不得不直接在csproj文件中安装工具。检查你的csproj文件,看看SqlConfig是否已经安装成功。如果没有,请添加并运行dotnet restore。这是如何“硬编码”该工具的示例:

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

此外,这里有一个链接提供更好的解释问题。如果您还没有安装Microsoft.Extensions.Caching.SqlServer,它也建议您先尝试此解决方案。希望这可以帮到您。

我的csproj文件中有一个ItemGroup,其中包含PackageReference,但没有包含DotNetCliToolReference。添加后者使它对我起作用了。非常好的答案;谢谢! - David
Nuget看起来有点过时了(2018年5月7日)。我猜安装dotnet是更好的方法。 - Marcel Melzig

0
例如,我使用了以下命令:
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\2.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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接