dotnet / interactive

.NET Interactive combines the power of .NET with many other languages to create notebooks, REPLs, and embedded coding experiences. Share code, explore data, write, and learn across your apps in ways you couldn't before.
MIT License
2.9k stars 387 forks source link

Can we package a local .net with extension #2008

Open unuunc opened 2 years ago

unuunc commented 2 years ago

Questions -

  1. Can we package .net with the extension which will not be global , it will be local to this extension?
  2. Or while installation extension can install required .net in its own local setup and use it?

That will solve quite a few problems related to setting up first time.

jonsequitur commented 2 years ago
  1. Can we package .net with the extension which will not be global , it will be local to this extension?

This would be a very large download for just one extension. It would then have to be serviced and updated out of band from other SDK installations.

  1. Or while installation extension can install required .net in its own local setup and use it?

For what it's worth, the .NET education bundle installs this way and includes .NET Interactive Notebooks, but it also introduces the need to maintain multiple installs on the same machine.

@baronfel, further thoughts?

baronfel commented 2 years ago

That's about the long and short of things. I'd say that you can really split the use cases for an install of the .NET SDK into two scenarios

In general .NET is happy with either case - extensions that want to make use of dotnet tools generally just need to respect a few well-known environment variables (DOTNET_ROOT, DOTNET_HOST, and PATH) and that's usually all you need to support either machine-wide installs or local installs of the .NET toolchain.

unuunc commented 2 years ago

@jonsequitur one of the problem I faced is that I already installed DOTNET 7 preview , although it is specified in install doc and help that it support only DOTNET 6 , but say if we add a prompt when we load a new notebook , if user want to have a local DOTNET 6 version install ( which is local to this extension ) if user agrees we download and install.

In case when a user wants to have a global DOTNET Preview version , and notebook stays unaffected from change in global dotnet setup.

We can just ask and setup without touching user's global setup. just a thought.

(Apologies , I am non native English speaker / writer)