我们使用普通的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字符串
因此无法添加通配符。