Addition of new platform #85

wants to merge 7 commits into


None yet

2 participants

deneuxj commented Dec 27, 2012


I'm sending a pull request with two changes.

The first one, which is the important one, deals with the addition of the XNA 4.0 for Xbox 360 platform. I've had it for a while, but wanted to clean it up first.
I've only tested that the build goes through, I am away from my Xbox and can't test it right now. Feel free to reject that request if you prefer that I test it first. I don't see any reasons why the resulting FSharp.Core library wouldn't work though, an earlier version for F# 2.0 was tested and worked.

The second change is a trivial one which people using visual studio might like (ignore suo files).


Good to see!

The platforms are named using the Nuget naming conventions for target frameworks, see

It looks like the right name is "net40-cf" or "net40-compactframework"

deneuxj commented Dec 28, 2012

The name of the target is the one used by Microsoft.Xna.GameStudio.targets.
It might be possible to use the nuget-friendly name at the top-most level provided there is a way to override the $TargetFramework variable, but IMHO that would just be confusing.
Note also the framework version is not 4.0, but the somewhat odd 3.7. Although it's originally based on the compact framework, I think it has become a somewhat different beast.

ghost commented Dec 28, 2012

@deneuxj I'm installing XNA Game Studio to take a look to help resolve this

BTW any chance you could update and improve the material at You can edit/push access at

ghost commented Dec 28, 2012

@deneux Really good to see this being done!

Re "TargetFramework" - After installing XNA Studio 4.0 I don't see the "TargetFramework" variable set or used anywhere in the *.targets files in

C:\Program Files (x86)\MSBuild\Microsoft\XNA Game Studio\v4.0

So I believe this variable can be freely set to any value we want in the the FSharpSource.targets file. That's the same as for other frameworks - this is just something used internally by the F# open source build system.

The general pattern is indeed to use nuget identifiers for the value of this variable. However it's no big deal - i think the pull request can be accepted and the value adjusted later!


deneuxj commented Dec 29, 2012

@dsyme It seems you are right, my memory is playing tricks on me. I'll do the substitution and see if it still builds.
I need to package FSharp.Core.dll and a project template using it, then I'll update instructions on

deneuxj commented Dec 29, 2012

Hmm, the nice, clean-up pull request that I sent earlier now includes the dirty changes and fixups I did in my dev branch. Git really doesn't like me :( I'll close this and make a new one, I think.

@deneuxj deneuxj closed this Dec 29, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment