I\'m trying to run dotnet aspnet-codegenerator
from my comand line. The first time I tried, I got the error No executable found matching command \"dotnet-
At the moment adding DotNetCliToolReference
items is only possibly by hand-editing the csproj file, there is a feature request for a CLI command at https://github.com/NuGet/Home/issues/4901
The logical difference is that PackageReference
s will become part of your application - you can use the dlls shipped with the package from your code and it will be deployed with your app. DotNetCliToolReference
packages will be restored from feeds but not added to your app's "dependency graph". When the CLI runs commands it looks at the csproj file as well to resolve command names to the corresponding dll files through DotNetCliToolReference
items.
It does not matter in which item groups those two item types are. MSBuild is very dynamic and you can re-arrange the file as you like. Both the CLI and NuGet use MSBuild API to evaluate the file and query the project's items.
The error you are seeing that dotnet add package
fails when a DotNetCliToolReference
is already present is a bug that has been fixed for the upcoming 2.0 release: https://github.com/NuGet/Home/issues/4771