The problem is you're calling Assembly.GetTypes()
. That gives you only the classes in that particualr assembly. If you have Assembly
objects for all three assemblies, you can do something like
assem1.GetTypes()
.Concat(assem2.GetTypes())
.Concat(assem3.GetTypes())
So the problem is how you get the three Assembly
objects. From project 1 you can just say
var assem1 = typeof(SomeClassInProj1).Assembly;
var assem2 = typeof(SomeClassInProj2).Assembly;
var assem3 = typeof(SomeClassInProj3).Assembly;
In a project where you can't "see" the other assemblies, you need to load them. See the documentation of Assembly.Load
.