Skip to content
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

How to include MSBUILD dependencies? #337

Closed
tpetricek opened this issue Apr 28, 2015 · 8 comments
Closed

How to include MSBUILD dependencies? #337

tpetricek opened this issue Apr 28, 2015 · 8 comments

Comments

@tpetricek
Copy link
Member

When you get the FSharp.Compiler.Service NuGet package and install it as part of some application on Azure VM, the application will fail, because F# Compiler Service depends on MSBUILD assemblies that are not part of .NET Framework:

  • Microsoft.Build
  • Microsoft.Build.Engine
  • Microsoft.Build.Framework
  • Microsoft.Build.Utilities.v12.0
  • Microsoft.Build.Tasks.v12.0

This is a bit unfortunate, because it measn that FSharp.Compiler.Service will not work on non-dev machines. I'm not sure what the best solution is?

  • Bundle the libraries with FSharp.Compiler.Service NuGet package? (but it's about 5 MB that most people won't need...)
  • Have a NuGet dependency? (if MSBUILD was on NuGet... which I don't think it is)
  • ILMERGE ALL THE THINGS! (that is, just the MSBUILD assemblies using the nice ILMerge tool that sometimes does not crash...)
  • Give up and tell people to install MSBUILD on their deployment machines?

[See also my comment in: https://github.com/fsharp/fsharp/pull/409]

@7sharp9
Copy link
Member

7sharp9 commented Apr 28, 2015

The msbuild 12 bits are for the project file cracking stuff, but msbuild is also used for reference resolution. Why would that never be installed?

@tpetricek
Copy link
Member Author

MSBUILD is now (well, for the last 3 years) a part of Visual Studio and so we cannot expect it to be installed...

@7sharp9
Copy link
Member

7sharp9 commented Apr 28, 2015

These are the bits that added the v12 dependencies: https://github.com/fsharp/FSharp.Compiler.Service/blob/master/src/fsharp/vs/service.fs#L2336-L2454

@7sharp9
Copy link
Member

7sharp9 commented Apr 28, 2015

I have a pcl version of FCS that Im working on that has no msbuild dependencies, not yet finished I might add.

@dsyme
Copy link
Contributor

dsyme commented Apr 29, 2015

I suppose the appropriate DLLs should be bundled as part of the FCS package for now, that seems reasonable, similar to here: fsharp/fsharp#409. Could you send a PR to adjust?

@cognociente
Copy link

It seems that the intention here was to add the relevant MSBUILD dependencies/dlls into the FSCS nuget package - this does not seem to have been implemented though as my usage of FSCS via nuget has just downloaded fsharp.compiler.services.dll.

@simra
Copy link

simra commented Oct 7, 2015

Up-vote for this issue. simra/IfSharp#7.
I'll try the options suggested in #424.

@rneatherway
Copy link
Member

This should be addressed by #470.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants