I have two projects in the same solution, call them WorkflowDll and InternalsDll. Both are signed.
WorkflowDll contains workflow definitions and custom native activities. That is, it contains .xaml files whose build action is set to XamlAppDef and classes that extend NativeActivity. It also has other classes that reference internal types defined within InternalsDll.
InternalsDll has types defined as internal to the assembly that are used by WorkflowDll. It is marked with the InternalsVisibleTo attribute to allow these types to be used by WorkflowDll.
Compile this solution and everything works. HOWEVER, if you put that custom NativeActivity in that workflow definition, the build breaks with CS0122 errors--inaccessible due to protection levels.
I have attached a repro solution.