ionide / ionide-vscode-fsharp

VS Code plugin for F# development
http://ionide.io
MIT License
852 stars 277 forks source link

Ionide locks DLLs even with shadowcopyreferences #1726

Open isaacabraham opened 2 years ago

isaacabraham commented 2 years ago

Describe the bug

Using the --shadowcopyreferences+ should stop locking DLLs when #r is used. However, it appears to still lock them regardless.

Steps to reproduce

  1. Create a .NET DLL.
  2. Reference it from a script.
  3. Rebuild that DLL.

Your rebuild will fail because the DLL is locked.

If you do the same directly with dotnet fsi, the DLL is not locked.

Note, I have indeed added the --shadowcopyreferences+ argument to FSI in VS Code settings and confirmed that it is getting "read" because I also used --nologo and that has taken effect.

Krzysztof-Cieslak commented 2 years ago

Do you have FSI Watcher enabled (FSharp.addFsiWatcher)? I can imagine that it can be locking all the assemblies.

baronfel commented 2 years ago

might also just be an artifact of longer-lived FSI sessions - does it reproduce if you close the FSI session or start a new one before sending the changed file?

isaacabraham commented 2 years ago

@Krzysztof-Cieslak just checked, no.