I have two projects one is production code (called Main), the other is a unit test project to test the real production code (called Main.Test). Both Main and Main.Test are signed with a strong name key. To expose the internal stuff to the Main.Test project we have to add an item at the bottom of the AssemblyInfo.cs class (in Main, not Main.Test) which looks similar to this: (Note: Names and Public Keys have been changed to protect the innocent, and semi-innocent) [assembly: System.Runtime.CompilerServ... ......