FSharpp to FSProj Converter
Wow, what a busy week! The F# CTP is out the door, and it's already making reverberations around the blogospphere:
Don's Announcement
Units of Measure in F#: Part One, Introducing Units - HOTNESS
Downloading stock prices in F# - Part I - Data modeling
Welcome to the F# CTP project system: project templates
F# Scripts -- Zero to Execute in Ten Seconds
F# Releases September CTP
I, unfortunately, am showing up late to the party since I've spent the last week kicking it old-school in Montana. Here's
a picture I snapped with my iPhone on Big Mountain in Whitefish.
Anyways, never fear as I've have several blog posts queued up highlighting several parts of the F# CTP - which I'll try to release on a two-a-week schedule. This includes the final installment of "F# in 20 minutes", so stay tuned.
But this first post-CTP post will be devoted to a .fsharpp to .fsproj converter I wrote. While the new F# project system is awesome, it isn’t compatible with the old project system used in the MSR releases. The tool here will convert your old F# projects into the new format.
There are two modes of operation:
Convert a .fsharpp file
To convert an existing .fsharpp file, build the project and then run:
fsharpp2fsproj.exe <yourproject>.fsharpp
Convert an F# project built via command line
For more complex projects (typically built using a command line) you can convert a project based on the full command-line parameters passed to fsc.exe.
For example, if the project was built using:
fsc.exe file1.fs file2.fs -R Reference.dll -o MyProgram.exe
Save a file named "args.txt" with text "fsc.exe file1.fs file2.fs -R Reference.dll -o MyProgram.exe" and then run
fsharpp2fsproj.exe args.txt
Caveats:
- It isn't perfect (read: you might find a bug)
- It isn't supported (read: I might not fix your bug)
- But if you do run into a problem let me know by sending mail to chrsmith at Microsoft.com or using the contact link on this blog.
I hope it is of use to you and definitely enjoy the F# CTP!
Disclaimer: All code samples are provided "AS IS" without warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose. So in other words, if the attached source files cause you any grief whatsoever you can’t blame me or Microsoft.
Comments
Anonymous
August 30, 2008
PingBack from http://informationsfunnywallpaper.cn/?p=3110Anonymous
January 13, 2009
This utility is quite nice, but just begs to be part of the main F# integration. There are still many projects, on CodePlex for example, that are in the old format.