# Using the interactive shell fsi

**URL:** <https://forums.fsharp.org/t/using-the-interactive-shell-fsi/1411>\
**Category:** Uncategorized\
**Created:** [August 20, 2020, 5:31am UTC](https://forums.fsharp.org/t/using-the-interactive-shell-fsi/1411 "2020-08-20T05:31:58Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![systems](https://yyz2.discourse-cdn.com/flex030/user_avatar/forums.fsharp.org/systems/32/585_2.png) [@systems](https://forums.fsharp.org/u/systems)\
**Post date:** [August 20, 2020, 5:31am UTC](https://forums.fsharp.org/t/using-the-interactive-shell-fsi/1411/1 "2020-08-20T05:31:58Z")

</div>

I am still struggling to understand the dotnet ecosystem

The IDE culture of Microsoft, really seem to be incompatible with how I think

Is there a way to install a package for example Newtonsoft.Json or any package, so that I can do  
dotnet fsiand open the package in the fsi interactive shell ?

Install-Package doesnt seem to work, for this use case  
Install-Package from pwsh 7 doesnt even seem to be able to even install Newtonsoft.Json

for example Install-Package Newtonsoft.Json -Version 12.0.3 wont work on pwsh 7, the command available for pwsh7 is different and doesnt have the version option

Install-Package Newtonsoft.Json -MininumVersion 12.0.3 also doesnt work, because although there is no dependencies, it does try to install dependencies and fail

It seems that dotnet only believes i creating a project and publishing it  
using fsi for exploration seem very limited

---

<div class="post-metadata">

**Author:** ![Prash](https://yyz2.discourse-cdn.com/flex030/user_avatar/forums.fsharp.org/prash/32/815_2.png) [@Prash](https://forums.fsharp.org/u/Prash)\
**Post date:** [August 25, 2020, 4:18pm UTC](https://forums.fsharp.org/t/using-the-interactive-shell-fsi/1411/2 "2020-08-25T16:18:28Z")

</div>

The .NET project system is currently completely unconnected to F# scripts or FSI.

The ability to reference NuGet packages in FSI/FSX has already been implemented and will be in the next F# release. See [here](https://github.com/fsharp/fslang-suggestions/issues/542) for more info.

The ability to bring in a project’s dependencies is not built-in either, but it has been suggested [here](https://github.com/dotnet/fsharp/issues/8764). There is a way to do it currently if you use Paket as your dependency manager (an improvement on NuGet that still uses the online NuGet package repository). It has a [generate-load-scripts](https://fsprojects.github.io/Paket/paket-generate-load-scripts.html) feature which lets you do this.

---

<div class="post-metadata">

**Author:** ![Prash](https://yyz2.discourse-cdn.com/flex030/user_avatar/forums.fsharp.org/prash/32/815_2.png) [@Prash](https://forums.fsharp.org/u/Prash)\
**Post date:** [August 25, 2020, 4:19pm UTC](https://forums.fsharp.org/t/using-the-interactive-shell-fsi/1411/3 "2020-08-25T16:19:38Z")

</div>

By the way, I highly recommend against using FSI in a terminal. Write your code into a script file in your editor instead and send code to FSI with Alt-Enter. There are many advantages to working this way.
