-
Notifications
You must be signed in to change notification settings - Fork 831
Getting FSharp out of GAC, and add --nocopyfsharpcore flag to fsc.exe #894
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wow!!!!! 666 ... this would fail policheck, it needs changing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That tool is hilarious ;-)
|
Could you please elaborate a little bit about this change? FSharp.Core + GAC trigger my own internal policheck. Kidding aside: I'd really love to learn more. |
|
@forki This is basically removing F#'s dependency on the GAC, and having its binaries deployed next to the compiler instead of the GAC folder. The flag is to enable/disable copying FSharp.Core.dll to the output folder of the build. |
|
Is this still compatible with using the FSharp.Core nuget package?
|
|
@forki This is basically for fsc.exe 4.1. Nothing changed for FSharp.Core binaries except that it will be deployed with the produced binaries (because it is not going to be in the GAC after installing F# on your machine). If You are referencing FSharp.Core from a nuget package, nothing will change there. |
|
Very good. What does it mean for "file new project" ? (sorry for asking so much, but fsharp.core incompatibilities is the biggest
|
|
@forki this means that if you've FSharp.Core.dll as a reference in your project (with CopyLocal=True) it will be copied by msbuild to your output. Else, it won't, and you'll have to add it if you need it elsewhere, because it is no longer in the GAC. |
Getting FSharp out of GAC, and add --nocopyfsharpcore flag to fsc.exe
|
What I meant is: does the new VS installation still register fsharp.core in
|
|
About copy FSharp.Core to output dir:
A note: if you want some feedback, leave a pr open at least 48h before commit, some of us are from a different timezone, it's really difficult to give feedback like that. Also for big changes (like no gac) maybe opening an issue can help the community understand what's happening and why |
|
Regarding 8) Personally I'm always using the NuGet package of FSharp.Core and think that's the way to go. But there (at least) two issues: |
|
@forki about 8) i think nuget is the way to go. I think if we want to support the simple fsc use case (it's really good to have), we should reference and copy the dll always from the special directory (fsc location is ok), only if NO fsharp.core reference is passed as argument, with a warning. |
|
Yes that's what I meant. If this repo creates a nuget package that is not
|
|
the copied core.dll need to be ignored from tests output, i'll add there as a note ( no time to send a pr now ) |
|
@forki Creating a new project from VS didn't change. It would still reference the one in Program Files\Reference Assemblies\Microsoft\FSharp. |
|
@forki Re nuget packages for FSharp.Core.... This is somewhat off topic for this thread. As @otawfik-ms mentions projects don't actually get FSharp.Core from the GAC (and never have done, at least not deliberately) - they get it from Program Files\Reference Assemblies\Microsoft\FSharp. But since we're on the topic... If and when Microsoft do push nuget packages for FSharp.Core I expect that they will push a |
|
Making it two packages with a dependency might work if the visualfsharp
|
No description provided.