Marko Apfel - Afghanistan/Belgium/Germany

Management, Architecture, Programming, QA, Coach, GIS, EAI

  Home  |   Contact  |   Syndication    |   Login
  187 Posts | 2 Stories | 201 Comments | 4 Trackbacks

News



Twitter | LinkedIn | Xing

Archives

Post Categories

Image Galleries

BizTalk

C#

Enterprise Library

SAP

SQL Server

Technologie

Situation

My private machine has Microsoft Visual Studio Express 2012 for Windows Desktop. This Visual Studio edition doesn’t allow to develop with F#. So I installed additionally SharpDevelop.

But it took longer as expected to get F# projects running in this environment.

Problem

Creating a new or opening an existing F# project ended up in this error:

“Please ensure that the F# compiler is installed on your computer.”

image

According the the installation hints from Use F# on Windows, I installed the following packages:

But no chance .. still the same.

I remembered an old blog post concerning a special entry in the config file of SharpDevelop to get F# running .. but still the same.

Reason

Indeed there is this reference inside all my *.fsproj files:

<Import Project="$(MSBuildExtensionsPath32)\FSharp\1.0\Microsoft.FSharp.Targets" Condition="!Exists('$(MSBuildBinPath)\Microsoft.Build.Tasks.v4.0.dll')" />
<Import Project="$(MSBuildExtensionsPath32)\..\Microsoft F#\v4.0\Microsoft.FSharp.Targets" Condition=" Exists('$(MSBuildBinPath)\Microsoft.Build.Tasks.v4.0.dll')" />

And both folders are not on this machine.

My F# is located under C:\Program Files (x86)\Microsoft SDKs\F#\3.0\Framework\v4.0.

 

Solution

After a few more attempts to configure SharpDevelop to use F# from the location on my machine, I lost my patience. I decided to go the hard way: use a junction.
With Sysinternals tool Junction it is possible to link one of the missing references to an existing one.

Im my case this command made it:

junction "C:\Program Files (x86)\Microsoft F#\v4.0" "C:\Program Files (x86)\Microsoft SDKs\F#\3.0\Framework\v4.0"

image

After setting this junction, F# developing within SharpDevelop was possible.

posted on Wednesday, May 1, 2013 4:18 AM