Where can I get the F# Compiler and FSI v4.0? - f#

I know I can download the "April CTP" to get F# 2.0 for .NET 2.0. But I need FSC and F# Interactive for .NET 4.0. On a machine with VS 2010 installed, it ends up in C:\Program Files (x86)\Microsoft F#\v4.0. Is there a redistributable for this?

If you installed Visual Studio 11 Beta or Visual Studio 2012, I recommend you check the following path, where you will find Fsi.exe and Fsc.exe.
C:\Program Files (x86)\Microsoft SDKs\F#\3.0\Framework\v4.0

Others have provided good answers; I'll summarize and add one more bit (2nd bullet):
We don't have any polished story here yet. We're working on one.
In the case of the compiler, you may be able to get by with the fsc.exe in the April CTP (it is capable of referencing .NET 4.0 assemblies and building .NET 4.0 assemblies, even though the compiler itself runs on 2.0). (Note that for building project files, you might also need the right Microsoft.FSharp.targets imported; I haven't worked all that through...)
If you were to copy the right assemblies and targets files from a VS2010 install to another machine, that would work, but offhand I don't know if that violates the VS license.
The existing downloadable "redist" does only contain FSharp.Core.dll.
(possibly see also this for a similar discussion but no extra info, as well as this Connect request)

The redistributable, for the F# runtime, is available at the following link, but unfortunately doesn't include the compiler or F# interactive:
http://www.microsoft.com/downloads/details.aspx?FamilyID=5f0a79f8-925f-4297-9ae2-86e2fdcff33c&displaylang=en
If you already have VS2010 installed on the machine there shouldn't be no need to install it, as the compiler, fsi, and F# runtime will be installed with VS. It should be just a matter of adding the directory containing the compiler to the path, so the shell can find it (if you want to use the compiler/fsc from the command-line).

This is an old question, but I came across it and thought that I'd add an update for people who find it through Google:
The current version of the F# CTP (April 2011) includes both .NET 2.0 and .NET 4.0 binaries, including FSI.exe. On my install...
.NET 2 = C:\Program Files (x86)\FSharp-2.0.0.0\bin\
.NET 4 = C:\Program Files (x86)\FSharp-2.0.0.0\v4.0\bin\

I think that there is no standalone installation of F# for .NET 4.0 (similar to the standalone installation for .NET 2.0). The reason probably is that F# for .NET 4.0 is simply meant to be distributed only as part of Visual Studio 2010 and not separately (just like other core Visual Studio languages).
If you need to use fsi.exe and fsc.exe for .NET 4.0 on a machine that doesn't have Visual Studio installed, you'll probably need to copy them together with the referenced libraries. This shouldn't be that difficult - you only need assemblies from "C:\Program Files (x86)\Microsoft F#\v4.0" together with FSharp.Core.dll (which should be added to the GAC) and (I think) also ISymWrapper.dll (but I'm not quite sure where this is located).

Related

What is the Microsoft.VisualStudio.Platform.WindowManagement.dll and where can I get the official ones from Microsoft?

I am looking for access to some functions in the DLL I mentioned above. I am not aware of any Nuget package that provides this DLLs.
So my question is, where do I get the latest version of this .dll from MS, and are they compatible with plugins targeting VS2019 and later?
Thanks for the answers, I am new to stack-overflow and probably didn't explain myself better.
I am developing a Visual Studio Plugin which closes some Document Windows in VS. I found some repos of VS plugins on Github which has a reference to this .DLL, and they use it to close all clones of Document Windows by casting the IVsWindowFrame to WindowFrame class belonging to this DLL.
As pointed out in comments: I found the DLL in my C: drive under this path: C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE

DirectX on Windows 10 and Visual Studio 2013 Express

I have installed Windows SDK on my Windows 10 laptop. However, there are assembly references to Microsoft.DirectX, Microsoft.DirectX.Direct3D, Microsoft.DirectX.Direct3DX and Microsoft.DirectX.DirectInput in my code. These are generating the error - The type or namespace name directx does not exist in the namespace Microsoft when i compile my code. Do I have to point my code to the directx header files that are installed within the Windows SDK. These are available at C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\cppwinrt\winrt\impl. If so, how do I point my code there. The directx files there are Windows.Graphics.DirectX.0, Windows.Graphics.DirectX.1 and so on and so forth. Should these be referenced instead of Microsoft.DirectX, Microsoft.DirectX.Direct3D, Microsoft.DirectX.Direct3DX and Microsoft.DirectX.DirectInput. If so, how?
The Microsoft.DirectX.* assemblies are the legacy Managed DX 1.1 assemblies that only shipped in the legacy DirectX SDK. They have nothing at all to do with the Windows Runtime APIs or C++/WinRT language projections. They never shipped in any Windows 10 SDK and are only deployed by the legacy DXSETUP package.
See this blog post and this blog post.
A recommended replacement is to use SharpDX or SlimDX.
SlimDX is no longer an active project, but it is still a good option for a direct replacement of legacy Managed DX 1.1

Standalone F# installer

I know this question has been asked before, but none of the answers help me in any sort.
I would like to know a way of installing F# on a computer that has no internet connection (visual studio is already installed on the target computer, but only C# components). Do you know if it's doable ?
Thanks!
If you only need to support .NET Core, then you get everything F#-related just be requiring .NET Core with your Visual Studio installation. This includes the compiler, FSI, and templates. The only thing you'll have missing is the old-style F# templates that don't use the .NET SDK.

F# on/in SharpDevelop?

Is there an F# compiler (plugin?) for SharpDevelop? I use SharpDevelop on my netbook for hobby development and it would be cool to program in f# on it.
If you install the F# compiler, SharpDevelop 3.0 automatically supports it. (Oh well. At least people will get a good answer now.)
On Windows, I settled on Visual Studio Shell and the May F# CTP.
There's a rather old (Aug 2008) F# Plugin for MonoDevelop. Read more on its Wiki page.
For the F# compiler, download the xip file from the F# May 2009 CTP page. there are certain known issues with running it on Mono, just search for "F# Mono" for more info.
Now Visual Studio 2010 supports F#. However, that doesn't include the Express editions, so if you're looking for F# IDEs for free, then there's a MonoDevelop plugin (which needs v2.6 IIRC), you can install Visual Studio Shell Integrated and add FSharp to that, or SharpDevelop.
Of these, I'd probably recommend the Visual Studio Shell over the others as it seems to have the best integration between the editor window and the F# Console window. However, if you're interested in doing things cross-platform, then look at MonoDevelop, as you can make sure that something will work on Mono.

WSPBuilder cannot find my assembly

I am using WSPBuilder on Visual Studio 2010 to create a feature with a feature receiver assembly for SharePoint 2010. When I try to build the WSP using WSP Builder I get this message in the output window:
The assembly MyAssembly.dll is unmanaged. The assembly will be excluded from the WSP package!
The defined Project Assembly seems not to be a valid assembly!
Solution compatibility: SharePoint 2010
The resulting WSP that gets built does not contain my DLL.
My DLL is strongly named, and I cant think of any other obvious reasons why this is happening.
Any idea why WSPBuilder is not able to package my assembly in the WSP?
Ahh... Found the answer. My code was getting compiled against .Net Framework 4.0. Changed it to .Net Framework 3.5 and Voila! WSP gets built without any problems...

Resources