Open o1lo01ol1o opened 7 years ago
This appears to be a build problem with VS2017; 2015 appears to be able to build and run the examples. Is there any notion of when vs2017 might be supported?
AFAIK nobody is currently actively working on maintaining this project. I think though that is merely a binding redirect issue. It could be fixed by changing the application configuration of your cluster nodes.
AFAIK nobody is currently actively working on maintaining this project.
This project only being the StarterKit, yes?
I ran into some other issues with a thespian local setup using f# 4.4.1.0 and VS 2017 so I came here to try to isolate the problem (Though maybe I didn't configure the cluster correctly in that project). I'll take another look at the error in the MBrace.Core script on vs2017 if I get a second.
Let me know how you get on - we might rationalise some of this and move to the ARM template deployment, which will make things a lot simpler.
@eiriktsarpalis how did we get around this when we moved from F#3.1 to 4.0?
AFAIK nobody is currently actively working on maintaining this project.
Anthony and myself are still maintaining this.
I'm watching from a distance and plan to get back to being more involved :)
@eiriktsarpalis @isaacabraham I couldn't find an obvious way to specify redirects on the worker process besides editing the local Thespien.worker.config in my local packages directory. This unsurprisingly caused the workers to crash on init.
I also cloned MBrace.Core and bumped the FSharp.Core versions on Thespian and Thespian.Worker projects and added a binding redirect on the latter's App.config. The worker processes complained about being unable to locate FSharp.Core 4.3.xx and 4.4.1.0 and crashed.
I'm happy to try something else if either of you have a better idea than my errant noodling.
@o1lo01ol1o I'll make some time over the next few days to look into this. I'm assuming that the problem is that FSI in VS2017 uses FSharp.Core 4.1, which doesn't exist on the cluster nodes. The solution will probably be a combination of binding redirects and / or ensuring that FSharp.Core 4.1 is on the cluster (even if this is an explicit action).
I don't think you can explicitly reference FSharp.Core 4.1 from nuget within an F# script?
@isaacabraham IIRC this is a tricky issue. The version of FSharp.Core on the worker nodes needs to match the version of FSharp.Core in the client FSI.EXE
This really means we need different FSharp.Core binding for worker nodes for VS2015 and VS2017. IIRC @eiriktsarpalis and I couldn't find a way to make this work seamlessly when we hit the same problem for VS2013 and VS2015.
Upgrading the worker nodes to always use the latest, highest FSharp.Core 4.4.1.0 was certainly an improvement, but then I think there was a risk of unsoundness for down version FSI.EXE clients.
I'll prepare a PR to do a systematic upgrade of all FSharp.Core packages in MBrace workers to 4.4.1.0 but we should check things from VS2015, or deprecate use of the latest version from VS2015 before making it the default version used by the starter pack
That sounds like a plan re: having a "last known good" version for VS2015. I'd like to get the ARM support in for VS2015 at some point though to the starter kit.
@o1lo01ol1o did you try copying FSharp.Core 4.4.1.0 to the tools
folder of the thespian package and update the binding redirects for the executable there?
@eiriktsarpalis I copied a FSharp.Core 4.4.1.0 to tools
and updated the worker's accompanying xml
with a binding redirect to 4.4.1.0 but there was no change when I ran the hello world example.
Is this issue still being worked on? I am trying to learn MBrace and since MBrace Azure isn't working right now, Thespian is my only option, and I immediately hit this issue. I'm going to try running the script in VS 2015 as a workaround.
Again the bleeding edge technology. I'll see if I can run the Thespian scripts in Visual Studio for Mac. Update: Well, it worked in Visual Studio Code for Mac. Visual Studio for Mac is installing, but I guess it will also work. I'll trust MBrace and use it for my Master's thesis 🤞.
I'm posting in this repo since it is the easiest from which to replicate the problem, but it looks like more than a few of the MBrace assemblies are referenced statically from somewhere (as opposed to via paket). For example running the
1-hello-world.fsx
on a clean pull on windows 10, VS 2017 up to line 38 works but creating the task in the subsequent lines throws:You'll also notice that the path
C:\Users\eirik\Development\mbrace\
is referenced a few times.Maybe a branch was pushed that shouldn't have been?