Author Archive for Stan Dvoychenko

TFS 2008 Installation - it makes your day if an hour is enough!

Having installed TFS2005 a few times now, I was prepared to spend a day on the TFS2008 installation.
After thinking I have all prerequisites completed following issues were presented during the health check:

Continue reading ‘TFS 2008 Installation - it makes your day if an hour is enough!’

Copying custom attributes with CustomAttributeData class

The story of Spring.NET solution for copying of custom attributes from the original class to the proxy continues with an investigation on a new .NET2.0 family member - System.Reflection.CustomAttributeData http://msdn2.microsoft.com/en-us/library/system.reflection.customattributedata.aspx

Mark Pollack re-pointed me into this direction a few days ago. Truly I tried to execute CustomAttributeData.GetCustomAttributes from the debugger line before trying the Mono.Cecil approach few weeks ago, but it threw exception to me and I happily progressed to Mono.Cecil without caring about it.

Continue reading ‘Copying custom attributes with CustomAttributeData class’

Spring.NET - Introspection vs. Reflection. Use of Mono.Cecil library.

Thanks to Bruno Baia and Mark Pollack for pointing me to the Mono.Cecil introspection library. The focus of the previous post on this subject were limitations of System.Reflection library in relation to copying custom attributes from the original type to the target type.

High level inspection of Mono.Cecil showed that library looks very promising for resolving the custom attributes issue and far beyond this.

I only targeted some proof of concept for this time, and code to follow can be pretty naive at some places and only counts now with copying of type attributes from one type to another (not including methods, properties, parameters’ attributes). Though it should be pretty straight forward to evolve to the fully fledged solution.

Continue reading ‘Spring.NET - Introspection vs. Reflection. Use of Mono.Cecil library.’

Introspection vs. Reflection for Spring.NET

Why “versus”?

It can be hard to explain what the difference between the two is, so I’ll quote the veteran of the windows programming and debugging - John Robbins:

When I first started looking at rule development, I couldn’t quite get my head around what the Introspection engine was doing. After a while, it finally dawned on me that the way to think about it was that Introspection is just manual reflection. Whereas reflection loads up the assembly and calls the types and other information in the assembly, the Introspection engine maps the assembly into memory and goes through the grind of walking all the internal tables by hand. Interestingly, if you start looking hard at the Introspection engine with the Reflector tool, you’ll see that through Introspection, it also supports creating code, much like the Reflection.Emit namespace.

Continue reading ‘Introspection vs. Reflection for Spring.NET’

Technorati Tags: ,