-
Notifications
You must be signed in to change notification settings - Fork 154
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MsBuild madness #176
Comments
If this is possible, I think this is the best way to go, focusing on one method.
You are right, it is the ProjectCracker. The dependency is a compile-time one (https://github.com/fsharp/FSharp.Compiler.Service/blob/master/src/fsharp/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCrackerTool.fsproj#L55). We could update it to link against MSBuild 15 and then try to use 14 (and still 12?) as backups. Testing that it still works on various combinations of MSBuild being installed is pretty difficult though. However, if the new cracker won't do the job I think that is the best solution. |
As context:
One huge win would be if you could just encapsulate the dependency within FsAutoComplete or Ionide. For example ship your own encapsulated MSBuild 15. That must now be possible, since VS2017 ships its own isolated editions for Community, Professional etc. Since Ionide is an editing toolchain it would make sense to do the same isolated thing. And it would mean you are much less exposed to this dependency going forward. |
where is msbuild? some work from omnisharp team we can reuse |
As a note,
that should fix the issue, using the msbuild choosen by user or latest installed. |
Sounds good to me. |
Looks like it's windows only issue, mono as always works better.
So at the moment, FSAC doesn't work if MsBuild 14 is not installed - what's kinda annoying for users . Main 2 problems are:
chocho
so it forces users to provide specific version... and not everyone reads readme and it's constant source of problems ;)The question is (and I guess I should know answer... ) why we even depend on specific MsBuild version?
My best bet would be that it's explicit ProjectCracker dependency - https://github.com/fsharp/FSharp.Compiler.Service/blob/master/src/fsharp/FSharp.Compiler.Service.ProjectCrackerTool/ProjectCrackerTool.fs#L127-L129
Couple of questions:
Will ProjectCracker work with MsBuild 15? Fix should be as simple as fixing this MsBuild lookup I've linked above
Or maybe @enricosada's tool for cracking new fsprojs could also work with old fsprojs? In my experience it's working better than ProjectCracker
CC: @dsyme
The text was updated successfully, but these errors were encountered: