There is a bug in the unit testing framework in Visual Studio 2010 with unit testing.  The bug appears in a very special circumstance involving an internal generic type.

The bug causes the following exception to be thrown:

System.InvalidProgramException: JIT Compiler encountered an internal limitation.

This occurs under the following circumstances:

  • Type being tested is internal or private
  • Method being tested is generic 
  • Method being tested has an out parameter
  • Type accessor functionality used to access the internal type

The exception is not thrown if the InternalsVisibleToAttribute is assigned to the source assembly and the accessor type is not used; nor is it thrown if the method is not a generic method.

Bug #635093 has been added through Microsoft Connect