Windows 8 / Metro certification?

Topics: Developer Forum
Apr 4, 2012 at 11:37 PM

I was trying Farseer out under Windows 8, but the App certification is failing. Any plans to get this library Windows 8 certified/create a Win8 fork?


API System.Runtime.CompilerServices.CompilationRelaxationsAttribute in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. FarseerPhysics.dll calls this API.

API System.Console in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. FarseerPhysics.dll calls this API.

API System.Threading.Thread in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. FarseerPhysics.dll calls this API.

API System.IO.FileStream in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. FarseerPhysics.dll calls this API.

API System.IO.FileMode in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. FarseerPhysics.dll calls this API.

API System.IO.FileAccess in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. FarseerPhysics.dll calls this API.

API System.Runtime.CompilerServices.CompilationRelaxationsAttribute.#ctor(System.Int32) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. FarseerPhysics.dll calls this API.

API System.String.Format(System.String,System.Object) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. FarseerPhysics.dll calls this API.

API System.Console.WriteLine(System.String) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. FarseerPhysics.dll calls this API.

API System.Threading.Thread.get_CurrentThread in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. FarseerPhysics.dll calls this API.

API System.Threading.Thread.get_ManagedThreadId in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. FarseerPhysics.dll calls this API.

API System.Diagnostics.Debug.Assert(System.Boolean,System.String,System.String) in SYSTEM, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. FarseerPhysics.dll calls this API.

API System.IO.FileStream.#ctor(System.String,System.IO.FileMode) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. FarseerPhysics.dll calls this API.

API System.Xml.XmlWriter.Close in SYSTEM.XML, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. FarseerPhysics.dll calls this API.

API System.IO.FileStream.#ctor(System.String,System.IO.FileMode,System.IO.FileAccess) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. FarseerPhysics.dll calls this API.

Apr 4, 2012 at 11:54 PM

It need to be build with VS2011, I guess. 

Apr 5, 2012 at 12:29 AM

No, these need code-level changes. For example, FileSteam is in use, which is not accessible within the Metro sandbox.

Apr 5, 2012 at 1:03 AM

The code changes were smaller than I thought. Quick version:

Start with the Silverlight version. Create a new Metro class library project, and copy-paste everything in there.

Try to compile to get a list of bugs.

Comment out everything that uses the file system.

Replace the X.foreach() with a regular foreach(Y in X) loop.

There will be a few missing features, but I think they aren't useful in a Metro app, anyway.