.NET Core 2中dotnet user-secrets命令可执行文件缺失求助
解决 "dotnet : No executable found matching command 'dotnet-user-secrets'" 错误
我看了你的项目配置和遇到的问题,核心原因是在.NET Core 2.x版本中,dotnet-user-secrets工具需要通过DotNetCliToolReference来声明,而不是你现在用的普通PackageReference。下面是具体的修复步骤:
1. 修正项目文件(.csproj)
打开你的.csproj文件,找到这一行关于SecretManager工具的引用:
<PackageReference Include="Microsoft.Extensions.SecretManager.Tools" Version="2.0.2" />
把它删掉,然后在现有的<DotNetCliToolReference>所在的ItemGroup里加上这一行:
<ItemGroup> <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" /> <!-- 新增这行工具引用 --> <DotNetCliToolReference Include="Microsoft.Extensions.SecretManager.Tools" Version="2.0.2" /> </ItemGroup>
如果没有专门的DotNetCliToolReference ItemGroup,直接新建一个也可以。
2. 恢复工具依赖
回到项目目录,执行下面的命令让CLI安装这个工具:
dotnet restore
3. 验证修复效果
现在再执行命令测试:
dotnet user-secrets -h
这时候应该能正常显示用户密钥工具的帮助信息了。
额外排查点
- 确认你始终在包含.csproj文件的目录下执行命令,
dotnet user-secrets需要依赖项目文件来定位密钥存储的位置。 - 可以用
dotnet --version检查当前SDK版本,确保它和你的项目TargetFramework(netcoreapp2.0)兼容,建议使用2.0.x系列的SDK(比如2.0.9)来匹配项目版本。
内容的提问来源于stack exchange,提问作者James Huang
相关产品推荐
相关产品推荐

