是否可以使用通配符版本的dotnet全局/本地工具



我们使用普通的dotnet-tools.json为我们的项目设置我们的dotnet本地工具,但想知道是否有一种方法可以像在csprojs中使用包引用那样使用通配符版本来设置版本号?

<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="5.0.0-rc.1.*" />

我已经尝试将dotnet-tools.json更改为以下内容:

{
"version": 1,
"isRoot": true,
"tools": {
"dotnet-ef": {
"version": "5.0.0-rc.1.*",
"commands": [
"dotnet-ef"
]
}
}
}

但是运行dotnet tool restore会出现以下错误

Invalid manifest file. Path C:devxx.api.configdotnet-tools.json:
In package dotnet-ef:
Version 5.0.0-rc.1.* is invalid.

定位代码中错误消息的来源,可以看到版本解析是由NugetVersion.TryParse完成的,它只允许使用semver字符串
因此无法添加通配符。

最新更新