I was able to install the new dotnet CLI by following the getting started guide. Running through the quick tutorial worked, but left me with a few questions about the new addition to ASP.NET Core 1.0 stack.
1. How do you upgrade the
Currently, the tool is installable via a
pkg for Mac OS X. Once installed I'd like to keep getting the latest changes without having to download a new
pkg every time.
upgrade command would be ideal.
2. How do I extend the
I watched the presentation that David Fowler and Damian Edwards did at NDC London and explained that the new
dotnet CLI pulled in commands via packages. While it was clear from the video that commands are packages, what the anatomy of one looks like is murky. I assume Entity Framework has an example lurking in its codebase. Finally, is there such thing as a local and global command?
3. Why isn't
nuget a command in the CLI?
You can clearly pack your project into a NuGet package from the new CLI. What you can't do is install a new package from the
dotnet -s nuget install AspNet.Mvc
It may also make sense to search directly from the
4. Why the emphasis on projects and not also solutions?
The idea of solutions has always been a big part of .NET, but you can only create projects.
5. How do I determine the runtime versions from the cli?
dnvm seems to be completely deprecated at this point. Runtimes are packages referenced by the application. That said, it may make sense to be able to run a command that lists what runtimes your application is targeting.
stats command would print out general information about the current project, including runtimes, the size of the compiled application, NuGet packages, and more. This output could be run through
grep for scripts and used to trigger further commands.
dotnet CLI is pretty simple right now. I'm sure it will grow, but I'm wondering what makes sense to have included in a CLI and what make sense to leave to a code editor. I would prefer as much be run through the CLI as possible, as it will provide the most common experience for development across machines and platforms.