yo estaba tratando de utilizar la Unidad 2.0 beta 2 para Silverlight en mi proyecto de Windows Phone 7 y seguí recibiendo este accidente:inyección de dependencias para Windows Phone 7
Microsoft.Practices.Unity.Silverlight.dll Microsoft.Practices .ObjectBuilder2.DynamicMethodConstructorStrategy.DynamicMethodConstructorStrategy() + 0x1f bytes
Microsoft.Practices.Unity.Silverlight.dll!Microsoft.Practices.ObjectBuilder2.DynamicMethodConstructorStrategy.DynamicMethodConstructorStrategy() + 0x1f bytes mscorlib.dll!System.Reflection.RuntimeConstructorInfo.InternalInvoke(System.Reflection.RuntimeConstructorInfo rtci = {System.Reflection.RuntimeConstructorInfo}, System.Reflection.BindingFlags invokeAttr = Default, System.Reflection.Binder binder = null, object parameters = {object[0]}, System.Globalization.CultureInfo culture = null, bool isBinderDefault = false, System.Reflection.Assembly caller = null, bool verifyAccess = true, ref System.Threading.StackCrawlMark stackMark = LookForMyCaller) mscorlib.dll!System.Reflection.RuntimeConstructorInfo.InternalInvoke(object obj = null, System.Reflection.BindingFlags invokeAttr = Default, System.Reflection.Binder binder = null, object[] parameters = {object[0]}, System.Globalization.CultureInfo culture = null, ref System.Threading.StackCrawlMark stackMark = LookForMyCaller) + 0x103 bytes mscorlib.dll!System.Activator.InternalCreateInstance(System.Type type = {Name = "DynamicMethodConstructorStrategy" FullName = "Microsoft.Practices.ObjectBuilder2.DynamicMethodConstructorStrategy"}, bool nonPublic = false, ref System.Threading.StackCrawlMark stackMark = LookForMyCaller) + 0xf0 bytes mscorlib.dll!System.Activator.CreateInstance() + 0xc bytes Microsoft.Practices.Unity.Silverlight.dll!Microsoft.Practices.ObjectBuilder2.StagedStrategyChain.AddNew(Microsoft.Practices.Unity.ObjectBuilder.UnityBuildStage stage = Creation) + 0x1d bytes Microsoft.Practices.Unity.Silverlight.dll!Microsoft.Practices.Unity.UnityDefaultStrategiesExtension.Initialize() + 0x6c bytes Microsoft.Practices.Unity.Silverlight.dll!Microsoft.Practices.Unity.UnityContainerExtension.InitializeExtension(Microsoft.Practices.Unity.ExtensionContext context = {Microsoft.Practices.Unity.UnityContainer.ExtensionContextImpl}) + 0x31 bytes Microsoft.Practices.Unity.Silverlight.dll!Microsoft.Practices.Unity.UnityContainer.AddExtension(Microsoft.Practices.Unity.UnityContainerExtension extension = {Microsoft.Practices.Unity.UnityDefaultStrategiesExtension}) + 0x1a bytes Microsoft.Practices.Unity.Silverlight.dll!Microsoft.Practices.Unity.UnityContainer.UnityContainer() + 0xf bytes
pensando que podía resolverlo he intentado un par de cosas, pero en vano.
Resulta que este es un problema bastante fundamental y mi suposición de que Windows Phone 7 es Silverlight 3 + Algunas otras cosas están mal. Este page describe las diferencias entre móvil Silverlight y Silverlight 3.
De particular interés es la siguiente:
El espacio de nombres System.Reflection.Emit no está soportada en Silverlight para Windows Phone.
Esta es precisamente la razón por la Unidad está fallando en el teléfono, DynamicMethodConstructorStrategy
System.Reflection.Emit
clase utiliza extensamente ...
Así que la pregunta es, ¿qué alternativa a la Unidad está ahí para Windows Phone 7?
Informe que como un error a la unidad del equipo. Silverlight y Windows Phone deberían tener la misma API (excepto Windows Phone tiene algunas cosas adicionales). – CVertex
Esto no es realmente un error. Existen enormes diferencias entre Silverlight3 y Windows Phone Silverlight. El equipo de la unidad es consciente de ello: http://unity.codeplex.com/Thread/View.aspx?ThreadId=207143 Tal vez lanzan una versión con soporte telefónico. –