Hello, > > I'm unsure whether this is a problem with Mono or with Liquid's library, so > > I'm > > posting here in case this rings a bell with someone. The Liquid code runs > > fine > > on Windows under .NET 2.0. The fact that it is in the Liquid "resigtration" > > code > > may be a key piece of evidence, or it may not! They told me that there is no > > reason my code should not run under Mono - that my licensing info is self > > contained in the built IL binaries. > > Considering that there's some sort of license validation embedded in > the Liquid XML runtime, it's pretty likely that they've also > obfuscated the assembly. Some obfuscators use particular IL patterns > that are invalid according to the CLI spec, but are "overlooked" by > .NET dues to limitations in its IL validation. They're essentially > exploiting .NET bugs in order to confuse decompilers. The downside is > that assemblies that have been obfuscated using these techniques > usually don't work on Mono, which doesn't have the same > bugs/limitations -- and they might not even work on future versions of > .NET.
At one point we had this discussion at ECMA, and I believe answer from Microsoft was that they considered accepting harmless invalid CIL code to be a value add feature of Microsoft's implementation of the CIL. Miguel. _______________________________________________ Mono-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-list
