During unittesting I have run into a problem with the following code that asks for all the loaded assemblies:
var res = AppDomain.CurrentDomain.GetAssemblies()
.SelectMany(x => x.GetTypes())
.ToList();
this code fails with a ReflectionTypeLoadException which has inner exceptions of the pattern
Could not load type Microsoft.Xml.Serialization.GeneratedAssembly.FOO
where FOO
are some specific classes also coded by us.
The problem arises when running unittests prior to the above which creates XML documents using the XDocument class.
I may not necesarilly want to load these code generated classes (I'm guessing Microsoft.Xml.Serialization.GeneratedAssembly.* is code generated.) I just want to understand whats wrong.
You should check IsDynamic field of your assembly which is availabe at .netframework 4 and later.
var res = AppDomain.CurrentDomain.GetAssemblies().Where(ass => ass.IsDynamic == false)
.SelectMany(x => x.GetTypes())
.ToList();
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