Build the sample code, and run any test. (I tried abs
.)
Each time I do it, I get TypeLoadException
:
An exception of type 'System.TypeLoadException' occurred in Jurassic.dll but was not handled in user code
Additional information: Inheritance security rules violated by type: 'Jurassic.Compiler.WhiteSpaceToken'. Derived types must either match the security accessibility of the base type or be less accessible.
The problem is WhiteSpaceToken
is a simple class, as so is Token
, its base. So it looks like exception is not actually providing accurate information about the class name, and the error is probably caused by some other code.
My understanding is nearly 0 at this case. The only explanation I could possibly imagine is that you can't inherit an abstract class from portable library, but I've never heard about this kind of restriction.
Any ideas why is this happening?
P.S. Adding some quick info about code structure, as requested in comment
- Token class is a public abstract class in a portable library targeted to .NET 4, Silverlight 5, Windows 8, and Windows Phone 8. It only works with string class from
mscorlib
. WhiteSpaceToken
is in a normal assembly, targeted to .NET 4. It inherits fromToken
. Also only works withint
andstring
.- Neither class has any attributes in its code.
- The unit test assembly is a normal unit test assembly on MSTest targeted 4.0