Inconsistent results when using NETMF 4.3 with VS2015

This has been discussed in another thread, but it is important, so I am going to mention it here in a new thread.

If you use VS2015 with NETMF 4.3 QFE2 (or any prior SDK), you run the risk of getting unexpected results and results that are not consistent with the same code compiled under VS2013.

The reason is that VS2015 defaults to using a new compiler (Roslyn) which outputs some IL code that is not supported by the NETMF 4.3 interpreter. The fix is to change certain msbuild files in order to force the use of the downlevel compiler.

The symptoms you would see are calls the the wrong virtual function in an inheritance, and it is known to affect value-typed objects (though may affect more).

MS is not willing (right now) to spin up a QFE3 release, so I am working with the NETMF team to create a post-install patch that will fix the problem. Running the post-install patch will ensure that you get the right compiler and results that are consistent with VS2013.

6 Likes

Thanks for posting this. I hope we can make the fix easy for our customers. But till them, or support page still asks for vs2013.

@ Gus - Hum… a wise GUS.