* #405 needto check which version of .net we are using but cannot use compiler directives
* #405 started puttig abstraction around static method to get frameworks so we can test this logic
* #405 added test for all methods and tidied up tests
* #405 made contains as ms docs are wrong, thanks to davidni for the heads up