While checking the possibility of developing for Windows Phone 7 using C++, I came across this thread, which states:
"...any language that can compile to a verifiable managed assembly (the verifiability requirement applies to all dependencies, too!) is good" (for WP7 development)
What is "verifiable managed assembly" and where can I learn more about this?
Verifiable code is code that gets compiled to IL and can be proven to not produce any IL that can execute unsafe code, bypass code access security checks or in any way corrupt the state of the CLR. The exact rules are complex however. The ten-thousand feet view is code written in managed languages like VB.NET or C# without the unsafe keyword. Nevertheless, you can write unverifiable code in C# without using the unsafe keyword. Check this answer for example.
There's a dedicated tool to check an assembly, PEVerify.exe. It executes the same checks the JIT compiler and the CLR perform. The bottom of the linked page has links to MSDN articles about verification.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With