I've recently been tasked with porting a large codebase of C++ code to XNA, specifically .Net v4 Client Profile. My hope was to use C++/CLI rather than translating all the code to C#, but in my feasibility tests, it looks like you can't reference non-XNA projects from XNA, and there's no way to create a C++/CLI XNA project.
I've set the C++/CLI project to target the client profile, but it still says it has an indirect dependency on mscorlib (presumably the non-client version, or it wouldn't be an error). I've also tried telling it to leave out the default libraries, to no effect.
This is with Visual Studio 2010 Professional, XNA Game Studio 4, running on Windows 7 64bit. Just in case.
Here's the error:
The primary reference "c:\...\WindowsPhoneGame2\Debug\cpptest.dll" could not be resolved because it has an indirect dependency on the framework assembly "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" which could not be resolved in the currently targeted framework. ".NETFramework,Version=v4.0,Profile=Client". To resolve this problem, either remove the reference "c:\...\WindowsPhoneGame2\Debug\cpptest.dll" or retarget your application to a framework version which contains "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089".
To sum up, the question is: Can I use a C++/CLI assembly from an XNA project, and how?