ASP.NET Core CRUD工具:找不到命令,但实际上已安装

时间:2019-10-03 09:15:39

标签: c# asp.net asp.net-core .net-core code-generation

我正在学习ASP.net,因此我正在阅读https://docs.microsoft.com/fr-fr/aspnet/core/tutorials/razor-pages/model?view=aspnetcore-3.0&tabs=visual-studio-code,并且在电影模型的脚手架部分中,我必须安装并运行CRUD工具(ASP.net Core dotnet-aspnet-codegenerator)。 我遇到的问题是我无法使用他们的工具,输出了错误;但是我可以安装它。下面是详细信息。

因此,我正在按照三步教程来使用此CRUD代码生成器(上面给出的链接)。我引用:

  
      
  1. 在项目目录(包含Program.cs,Startup.cs和.csproj文件的目录)中打开命令窗口。
  2.   

✔可行。

  
      
  1. 安装脚手架工具:dotnet tool install --global dotnet-aspnet-codegenerator
  2.   

✔它起作用了,现在如果我尝试重新安装它,它会输出它已经安装了。

  
      
  1. 对于macOS和Linux:运行以下命令:dotnet aspnet-codegenerator razorpage -m Movie -dc RazorPagesMovieContext -udl -outDir Pages/Movies --referenceScriptLibraries
  2.   

?它不起作用。 这是输出错误:

  

由于找不到指定的命令或文件而无法执行。   可能的原因包括:     *您拼写了内置的dotnet命令。     *您打算执行.NET Core程序,但dotnet-dotnet-aspnet-codegenerator不存在。     *您打算运行一个全局工具,但是在PATH上找不到具有该名称的dotnet前缀可执行文件。

问题:如何调试它以使此命令起作用?

4 个答案:

答案 0 :(得分:1)

有时最新版本可能不一致。尝试使用旧版本,看看有什么区别。从当前版本之前的最高版本开始,然后向下查找真正有效的版本。如何安装较旧的版本:

dotnet tool install --global dotnet-aspnet-codegenerator --version {version}

您可以在nuget页面中找到版本历史记录:
https://www.nuget.org/packages/dotnet-aspnet-codegenerator/

答案 1 :(得分:1)

哦,哦……“由于您刚刚安装了.NET Core SDK,因此在运行安装的工具之前,您需要注销或重新启动会话。 -我没看过,这是CLI在代码生成器安装时输出的。

更新:使用代码生成器3.0.0和2.1.10的版本都无法解决我的问题(我重新运行计算机和Ubuntu会话):(...

答案 2 :(得分:1)

如核心MVC(https://docs.microsoft.com/fr-fr/aspnet/core/tutorials/first-mvc-app/adding-model?view=aspnetcore-3.0&tabs=visual-studio-code)所述,需要

export PATH=$HOME/.dotnet/tools:$PATH。此指示已被Core Razor遗忘。 。

答案 3 :(得分:1)

在Windows 10上

对于我来说,安装程序向Path环境变量添加了错误的路径。
添加的路径指向“程序”下的不存在的文件夹。它需要指向dotnet-aspnet-codegenerator.exe
对我来说,正确的路径在我的用户文件夹中:~\.dotnet\tools

您可以通过运行以下命令来检查是否添加了正确的路径:echo $env:Path
如果路径丢失或不正确,则只需将正确的路径添加到Path系统环境变量中即可。

您也许可以使用PowerShell设置本地变量来进行测试:$env:Path += ";C:\Users\<YOUR_NAME_HERE>\.dotnet\tools"
但是我还没有尝试过。


要全局修复

  1. 开始在Windows搜索中输入Environment,您应该会看到Control panel的{​​{1}}选项。
  2. 单击右下角的Edit system environment variables按钮。
  3. Environment Variables...下找到并选择System variables变量,然后单击Path
  4. 检查到Edit的路径是否存在,如果没有,请单击dotnet-aspnet-codegenerator.exe并将其添加。
  5. 重新启动计算机。