首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到命令“dotnet”

找不到命令“dotnet”
EN

Stack Overflow用户
提问于 2019-07-03 02:22:54
回答 13查看 90.2K关注 0票数 105

我正在Arch Linux / Visual代码上使用Arch LinuxCore2.0,并试图使EF工具正常工作,但我一直收到错误:

找不到命令dotnet

我几乎到处都找过了,但这些建议都没有用。

运行“dotnet ef”的结果:

代码语言:javascript
复制
[wasiim@wasiim-PC WebApiServerApp]$ dotnet ef --help
Cannot find command 'dotnet ef', please run the following command to install

dotnet tool install --global dotnet-ef
[wasiim@wasiim-PC WebApiServerApp]$ dotnet tool list -g
Package Id            Version      Commands
---------------------------------------------------
dotnet-dev-certs      2.2.0        dotnet-dev-certs
dotnet-ef             2.2.3        dotnet-ef
[wasiim@wasiim-PC WebApiServerApp]$

这是“dotnet--信息”结果,如果有帮助的话:

代码语言:javascript
复制
[wasiim@wasiim-PC WebApiServerApp]$ dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   2.2.105
 Commit:    7cecb35b92

Runtime Environment:
 OS Name:     arch
 OS Version:
 OS Platform: Linux
 RID:         arch-x64
 Base Path:   /opt/dotnet/sdk/2.2.105/

Host (useful for support):
  Version: 2.2.3
  Commit:  6b8ad509b6

.NET Core SDKs installed:
  2.2.105 [/opt/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.NETCore.App 2.2.3 [/opt/dotnet/shared/Microsoft.NETCore.App]

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

这是我的.csproj文件:

代码语言:javascript
复制
<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <Folder Include="wwwroot\" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Lucene.Net.Analysis.Common" Version="4.8.0-beta00005" />
    <PackageReference Include="Lucene.Net.QueryParser" Version="4.8.0-beta00005" />
    <PackageReference Include="Microsoft.AspNetCore.App" Version="2.2.5" />
   <PackageReference Include="Lucene.Net" Version="4.8.0-beta00005" />
    <PackageGroup Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.0" />
    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.2.4" />
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.3" />

  </ItemGroup>

</Project>
EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2019-07-03 18:25:37

给读者的注意:如果您没有安装dotnet ef,您需要先安装它:dotnet tool install --global dotnet-ef。提问者已经这么做了。你需要先做到这一点,然后这个答案的其余部分才能有所帮助。

如何解决这个问题

对于LinuxmacOS,在shell的配置中添加一行:

  • bash/zsh: 导出PATH=“$PATH:$HOME/..dotnet/tools/”
  • csh/tcsh: set path = ($path $HOME/..dotnet/tools/)

当您启动新的shell/终端(或下次登录时)时,dotnet ef应该可以工作。

适用于Windows

有关如何向PATH环境变量添加内容,请参见PATH

您需要将%USERPROFILE%\.dotnet\tools添加到PATH

到底怎么回事?

此故障的.NET Core3.0(预览)版本更有启发性:

代码语言:javascript
复制
$ dotnet ef
Could not execute because the specified command or file was not found.
Possible reasons for this include:
  * You misspelled a built-in dotnet command.
  * You intended to execute a .NET Core program, but dotnet-ef does not exist.
  * You intended to run a global tool, but a dotnet-prefixed executable with this name could not be found on the PATH.

第二条和第三条都提到dotnet试图查找dotnet-ef命令,但找不到它。正如第三点所述,dotnet-ef并不在您的道路上。

这是医生是怎么说的

全局工具可以安装在默认目录或特定位置。默认目录是: OS Path Linux/macOS $HOME/.dotnet/tools Windows %USERPROFILE%\.dotnet\tools

因此,您应该将$HOME/.dotnet/tools/添加到$PATH中。

但也请注意文档中的这一部分:

当SDK第一次运行时,这些位置会添加到用户的路径中,因此可以直接调用在那里安装的Global。

听起来好像出了什么问题。如果您使用手动tarball安装,SDK会出错,您应该向Microsoft报告此错误。如果你使用一个分发包,他们就会搞砸了,你应该把这个错误报告给他们。

票数 153
EN

Stack Overflow用户

发布于 2019-09-29 12:50:31

在我的例子中,%USERPROFILE%\.dotnet\中不存在tools文件夹,所以我不得不运行命令dotnet tool install --global dotnet-ef来安装dotnet。然后我就能运行dotnet了..。

这是上述install命令的结果:

票数 165
EN

Stack Overflow用户

发布于 2019-11-13 21:59:36

对于那些在更新Visual或.NET核心包后遇到此问题的人,这是由于通过从.NET Core 3中删除dotnet ef并使其成为可以通过以下方式安装的单独包装而进行的更新:

dotnet tool install -g dotnet-ef

有关参考资料,请参阅这个答案和此破变

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56862089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档