[Mono-bugs] [Bug 425527] New: System.IndexOutOfRangeException when compiling Unity

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Fri Sep 12 16:31:37 EDT 2008


https://bugzilla.novell.com/show_bug.cgi?id=425527


           Summary: System.IndexOutOfRangeException when compiling Unity
           Product: Mono: Compilers
           Version: 1.2.6
          Platform: x86
        OS/Version: Kubuntu
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: C#
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: serious.seb at orange.fr
         QAContact: mono-bugs at lists.ximian.com
          Found By: Development


Description of Problem:
When trying to compile Unity 1.1 the following exception is raised by gmcs :
Unhandled Exception: Mono.CSharp.InternalErrorException:
/UnityContainerBase.cs(41,32):
Microsoft.Practices.Unity.UnityContainerBase.RegisterType<TFrom,TTo>() --->
System.IndexOutOfRangeException: Array index is out of range.

Steps to reproduce the problem:
Here is a shell session that shows the problem :
/tmp/unity$ gmcs --version
Mono C# compiler version 1.2.6.0
/tmp/unity$ mono --version
Mono JIT compiler version 1.2.6 (tarball)
Copyright (C) 2002-2007 Novell, Inc and Contributors. www.mono-project.com
        TLS:           __thread
        GC:            Included Boehm (with typed GC)
        SIGSEGV:       altstack
        Notifications: epoll
        Architecture:  x86
        Disabled:      none
/tmp/unity$ ls
UnitySource.zip
/tmp/unity$ unzip UnitySource.zip
Archive:  UnitySource.zip
   creating: UnitySource/
  inflating: UnitySource/localtestrun.testrunconfig
   creating: UnitySource/Src/
   creating: UnitySource/Src/Common/
  inflating: UnitySource/Src/Common/GlobalAssemblyInfo.cs
   creating: UnitySource/Src/ObjectBuilder/
  inflating: UnitySource/Src/ObjectBuilder/Builder.cs
  inflating: UnitySource/Src/ObjectBuilder/BuilderContext.cs
   creating: UnitySource/Src/ObjectBuilder/Exceptions/
  inflating: UnitySource/Src/ObjectBuilder/Exceptions/BuildFailedException.cs
  inflating:
UnitySource/Src/ObjectBuilder/Exceptions/DependencyMissingException.cs
  inflating:
UnitySource/Src/ObjectBuilder/Exceptions/IllegalInjectionMethodException.cs
  inflating: UnitySource/Src/ObjectBuilder/GlobalSuppressions.cs
  inflating: UnitySource/Src/ObjectBuilder/IBuilder.cs
  inflating: UnitySource/Src/ObjectBuilder/IBuilderContext.cs
  inflating: UnitySource/Src/ObjectBuilder/IBuildKey.cs
  inflating: UnitySource/Src/ObjectBuilder/IRecoveryStack.cs
  inflating: UnitySource/Src/ObjectBuilder/IRequiresRecovery.cs
   creating: UnitySource/Src/ObjectBuilder/Lifetime/
  inflating: UnitySource/Src/ObjectBuilder/Lifetime/ILifetimeContainer.cs
  inflating: UnitySource/Src/ObjectBuilder/Lifetime/LifetimeContainer.cs
   creating: UnitySource/Src/ObjectBuilder/Location/
  inflating: UnitySource/Src/ObjectBuilder/Location/IReadableLocator.cs
  inflating: UnitySource/Src/ObjectBuilder/Location/IReadWriteLocator.cs
  inflating: UnitySource/Src/ObjectBuilder/Location/Locator.cs
  inflating: UnitySource/Src/ObjectBuilder/Location/ReadableLocator.cs
  inflating: UnitySource/Src/ObjectBuilder/Location/ReadOnlyLocator.cs
  inflating: UnitySource/Src/ObjectBuilder/Location/ReadWriteLocator.cs
  inflating: UnitySource/Src/ObjectBuilder/Location/WeakRefDictionary.cs
  inflating: UnitySource/Src/ObjectBuilder/ObjectBuilder.csproj
   creating: UnitySource/Src/ObjectBuilder/Policies/
  inflating: UnitySource/Src/ObjectBuilder/Policies/IBuilderPolicy.cs
  inflating: UnitySource/Src/ObjectBuilder/Policies/IPolicyList.cs
  inflating: UnitySource/Src/ObjectBuilder/Policies/PolicyList.cs
   creating: UnitySource/Src/ObjectBuilder/Properties/
  inflating: UnitySource/Src/ObjectBuilder/Properties/AssemblyInfo.cs
  inflating: UnitySource/Src/ObjectBuilder/Properties/Resources.Designer.cs
  inflating: UnitySource/Src/ObjectBuilder/Properties/Resources.resx
  inflating: UnitySource/Src/ObjectBuilder/RecoveryStack.cs
   creating: UnitySource/Src/ObjectBuilder/Strategies/
   creating: UnitySource/Src/ObjectBuilder/Strategies/BuilderAware/
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuilderAware/BuilderAwareStrategy.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuilderAware/IBuilderAware.cs
  inflating: UnitySource/Src/ObjectBuilder/Strategies/BuilderStage.cs
  inflating: UnitySource/Src/ObjectBuilder/Strategies/BuilderStrategy.cs
   creating: UnitySource/Src/ObjectBuilder/Strategies/BuildKeyMapping/
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildKeyMapping/BuildKeyMappingPolicy.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildKeyMapping/BuildKeyMappingStrategy.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildKeyMapping/GenericTypeBuildKeyMappingPolicy.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildKeyMapping/IBuildKeyMappingPolicy.cs
   creating: UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/BuildPlanStrategy.cs
   creating: UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/Creation/
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/Creation/ConstructorSelectorPolicy.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/Creation/ConstructorSelectorPolicyBase.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/Creation/IConstructorSelectorPolicy.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/Creation/SelectedConstructor.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/Creation/SelectedMemberWithParameters.cs
   creating: UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/DynamicMethod/
   creating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/DynamicMethod/Creation/
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/DynamicMethod/Creation/DynamicMethodConstructorStrategy.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/DynamicMethod/DynamicBuildPlanGenerationContext.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/DynamicMethod/DynamicMethodBuildPlan.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/DynamicMethod/DynamicMethodBuildPlanCreatorPolicy.cs
   creating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/DynamicMethod/Method/
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/DynamicMethod/Method/DynamicMethodCallStrategy.cs
   creating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/DynamicMethod/Property/
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/DynamicMethod/Property/DynamicMethodPropertySetterStrategy.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/IBuildPlanCreatorPolicy.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/IBuildPlanPolicy.cs
   creating: UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/Method/
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/Method/IMethodSelectorPolicy.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/Method/MethodSelectorPolicy.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/Method/MethodSelectorPolicyBase.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/Method/SelectedMethod.cs
   creating: UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/Property/
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/Property/IPropertySelectorPolicy.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/Property/PropertySelectorBase.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/Property/PropertySelectorPolicy.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/Property/SelectedProperty.cs
   creating: UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/Resolution/
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/Resolution/DependencyResolverTrackerPolicy.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/Resolution/FixedTypeResolverPolicy.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/Resolution/IDependencyResolverPolicy.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/BuildPlan/Resolution/IDependencyResolverTrackerPolicy.cs
  inflating: UnitySource/Src/ObjectBuilder/Strategies/IBuilderStrategy.cs
  inflating: UnitySource/Src/ObjectBuilder/Strategies/IStagedStrategyChain.cs
  inflating: UnitySource/Src/ObjectBuilder/Strategies/IStrategyChain.cs
   creating: UnitySource/Src/ObjectBuilder/Strategies/Lifetime/
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/Lifetime/ILifetimeFactoryPolicy.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/Lifetime/ILifetimePolicy.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/Lifetime/LifetimeStrategy.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/Lifetime/SingletonLifetimePolicy.cs
  inflating:
UnitySource/Src/ObjectBuilder/Strategies/Lifetime/TransientLifetimePolicy.cs
  inflating: UnitySource/Src/ObjectBuilder/Strategies/StagedStrategyChain.cs
  inflating: UnitySource/Src/ObjectBuilder/Strategies/StrategyChain.cs
   creating: UnitySource/Src/ObjectBuilder/Utility/
  inflating: UnitySource/Src/ObjectBuilder/Utility/BuildKey.cs
  inflating: UnitySource/Src/ObjectBuilder/Utility/Guard.cs
  inflating: UnitySource/Src/ObjectBuilder/Utility/NamedTypeBuildKey.cs
   creating: UnitySource/Src/Unity/
   creating: UnitySource/Src/Unity/Attributes/
  inflating: UnitySource/Src/Unity/Attributes/DependencyAttribute.cs
  inflating: UnitySource/Src/Unity/Attributes/DependencyResolutionAttribute.cs
  inflating: UnitySource/Src/Unity/Attributes/InjectionConstructorAttribute.cs
  inflating: UnitySource/Src/Unity/Attributes/InjectionMethodAttribute.cs
   creating: UnitySource/Src/Unity/Extension/
  inflating: UnitySource/Src/Unity/Extension/ExtensionContext.cs
  inflating:
UnitySource/Src/Unity/Extension/IUnityContainerExtensionConfigurator.cs
  inflating: UnitySource/Src/Unity/Extension/NamedEventArgs.cs
  inflating: UnitySource/Src/Unity/Extension/RegisterEventArgs.cs
  inflating: UnitySource/Src/Unity/Extension/RegisterInstanceEventArgs.cs
  inflating: UnitySource/Src/Unity/Extension/UnityContainerExtension.cs
  inflating: UnitySource/Src/Unity/GlobalSuppressions.cs
   creating: UnitySource/Src/Unity/Injection/
  inflating: UnitySource/Src/Unity/Injection/InjectedMembers.cs
  inflating: UnitySource/Src/Unity/Injection/InjectionConstructor.cs
  inflating: UnitySource/Src/Unity/Injection/InjectionMember.cs
  inflating: UnitySource/Src/Unity/Injection/InjectionMethod.cs
  inflating: UnitySource/Src/Unity/Injection/InjectionParameter.cs
  inflating: UnitySource/Src/Unity/Injection/InjectionParameterValue.cs
  inflating: UnitySource/Src/Unity/Injection/InjectionProperty.cs
  inflating: UnitySource/Src/Unity/Injection/ResolvedParameter.cs
  inflating: UnitySource/Src/Unity/IUnityContainer.cs
   creating: UnitySource/Src/Unity/Lifetime/
  inflating:
UnitySource/Src/Unity/Lifetime/ContainerControlledLifetimeManager.cs
  inflating:
UnitySource/Src/Unity/Lifetime/ExternallyControlledLifetimeManager.cs
  inflating: UnitySource/Src/Unity/Lifetime/LifetimeManager.cs
  inflating: UnitySource/Src/Unity/Lifetime/LifetimeManagerFactory.cs
  inflating: UnitySource/Src/Unity/Lifetime/TransientLifetimeManager.cs
  inflating: UnitySource/Src/Unity/NamedTypesRegistry.cs
   creating: UnitySource/Src/Unity/ObjectBuilder/
  inflating:
UnitySource/Src/Unity/ObjectBuilder/DefaultUnityConstructorSelectorPolicy.cs
  inflating:
UnitySource/Src/Unity/ObjectBuilder/DefaultUnityMethodSelectorPolicy.cs
  inflating:
UnitySource/Src/Unity/ObjectBuilder/DefaultUnityPropertySelectorPolicy.cs
  inflating:
UnitySource/Src/Unity/ObjectBuilder/LiteralValueDependencyResolverPolicy.cs
  inflating:
UnitySource/Src/Unity/ObjectBuilder/NamedTypeDependencyResolverPolicy.cs
  inflating:
UnitySource/Src/Unity/ObjectBuilder/SpecifiedConstructorSelectorPolicy.cs
  inflating:
UnitySource/Src/Unity/ObjectBuilder/SpecifiedMemberSelectorHelper.cs
  inflating:
UnitySource/Src/Unity/ObjectBuilder/SpecifiedMethodsSelectorPolicy.cs
  inflating:
UnitySource/Src/Unity/ObjectBuilder/SpecifiedPropertiesSelectorPolicy.cs
  inflating: UnitySource/Src/Unity/ObjectBuilder/UnityBuildStage.cs
   creating: UnitySource/Src/Unity/Properties/
  inflating: UnitySource/Src/Unity/Properties/AssemblyInfo.cs
  inflating: UnitySource/Src/Unity/Properties/Resources.Designer.cs
  inflating: UnitySource/Src/Unity/Properties/Resources.resx
  inflating: UnitySource/Src/Unity/ResolutionFailedException.cs
  inflating: UnitySource/Src/Unity/Unity.csproj
  inflating: UnitySource/Src/Unity/UnityContainer.cs
  inflating: UnitySource/Src/Unity/UnityContainerBase.cs
  inflating: UnitySource/Src/Unity/UnityDefaultBehaviorExtension.cs
  inflating: UnitySource/Src/Unity/UnityDefaultStrategiesExtension.cs
   creating: UnitySource/Src/Unity/Utility/
  inflating: UnitySource/Src/Unity/Utility/Guard.cs
  inflating: UnitySource/Src/Unity/Utility/Pair.cs
  inflating: UnitySource/Src/Unity/Utility/Sequence.cs
   creating: UnitySource/Src/Unity.Configuration/
  inflating:
UnitySource/Src/Unity.Configuration/AssemblyQualifiedTypeNameConverter.cs
   creating: UnitySource/Src/Unity.Configuration/ConfigurationElements/
   creating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/
   creating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/ContainerConfigurationExtensionElement/
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/ContainerConfigurationExtensionElement/UnityContainerExtensionConfigurationElement.cs
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/ContainerConfigurationExtensionElement/UnityContainerExtensionConfigurationElementCollection.cs
   creating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/ContainerExtensionElement/
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/ContainerExtensionElement/UnityContainerExtensionElement.cs
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/ContainerExtensionElement/UnityContainerExtensionElementCollection.cs
   creating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/InstancesElement/
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/InstancesElement/UnityInstanceElement.cs
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/InstancesElement/UnityInstanceElementCollection.cs
   creating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/
   creating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/LifetimeElement/
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/LifetimeElement/UnityLifetimeElement.cs
   creating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/TypeExtensionConfigurationElement/
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/TypeExtensionConfigurationElement/UnityContainerTypeConfigurationElement.cs
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/TypeExtensionConfigurationElement/UnityContainerTypeConfigurationElementCollection.cs
   creating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/TypeInjectionElement/
   creating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/TypeInjectionElement/InjectionConstructorElement/
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/TypeInjectionElement/InjectionConstructorElement/InjectionConstructorElement.cs
   creating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/TypeInjectionElement/InjectionMemberElement/
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/TypeInjectionElement/InjectionMemberElement/InjectionMemberElement.cs
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/TypeInjectionElement/InjectionMemberElement/InjectionMemberElementCollection.cs
   creating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/TypeInjectionElement/InjectionMethodElement/
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/TypeInjectionElement/InjectionMethodElement/InjectionMethodElement.cs
   creating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/TypeInjectionElement/InjectionParameterValueElement/
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/TypeInjectionElement/InjectionParameterValueElement/DependencyValueElement.cs
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/TypeInjectionElement/InjectionParameterValueElement/InjectionParameterValueElement.cs
   creating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/TypeInjectionElement/InjectionPropertyElement/
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/TypeInjectionElement/InjectionPropertyElement/InjectionPropertyElement.cs
   creating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/TypeInjectionElement/MethodParameterElement/
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/TypeInjectionElement/MethodParameterElement/MethodParameterElement.cs
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/TypeInjectionElement/MethodParameterElement/MethodParameterElementCollection.cs
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/TypeInjectionElement/TypeInjectionElement.cs
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/UnityTypeElement.cs
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/TypesElement/UnityTypeElementCollection.cs
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/UnityContainerElement.cs
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/ContainerElement/UnityContainerElementCollection.cs
   creating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/TypeAliasesElement/
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/TypeAliasesElement/UnityTypeAlias.cs
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/TypeAliasesElement/UnityTypeAliasCollection.cs
  inflating:
UnitySource/Src/Unity.Configuration/ConfigurationElements/UnityConfigurationSection.cs
  inflating:
UnitySource/Src/Unity.Configuration/IContainerConfigurationCommand.cs
  inflating: UnitySource/Src/Unity.Configuration/InstanceValueElement.cs
  inflating: UnitySource/Src/Unity.Configuration/IResolvesTypeAliases.cs
   creating: UnitySource/Src/Unity.Configuration/Properties/
  inflating: UnitySource/Src/Unity.Configuration/Properties/AssemblyInfo.cs
  inflating:
UnitySource/Src/Unity.Configuration/Properties/Resources.Designer.cs
  inflating: UnitySource/Src/Unity.Configuration/Properties/Resources.resx
  inflating:
UnitySource/Src/Unity.Configuration/TypeResolvingConfigurationElement.cs
  inflating:
UnitySource/Src/Unity.Configuration/TypeResolvingConfigurationElementCollection.cs
  inflating: UnitySource/Src/Unity.Configuration/Unity.Configuration.csproj
  inflating: UnitySource/Src/Unity.Configuration/UnityTypeResolver.cs
   creating: UnitySource/Src/Unity.StaticFactory/
  inflating:
UnitySource/Src/Unity.StaticFactory/FactoryDelegateBuildPlanPolicy.cs
  inflating: UnitySource/Src/Unity.StaticFactory/IStaticFactoryConfiguration.cs
   creating: UnitySource/Src/Unity.StaticFactory/Properties/
  inflating: UnitySource/Src/Unity.StaticFactory/Properties/AssemblyInfo.cs
  inflating: UnitySource/Src/Unity.StaticFactory/StaticFactoryExtension.cs
  inflating: UnitySource/Src/Unity.StaticFactory/Unity.StaticFactory.csproj
   creating: UnitySource/Tests/
   creating: UnitySource/Tests/ObjectBuilder/
  inflating: UnitySource/Tests/ObjectBuilder/BuilderAwareStrategyTest.cs
  inflating: UnitySource/Tests/ObjectBuilder/BuilderTest.cs
  inflating: UnitySource/Tests/ObjectBuilder/BuildFailedExceptionTest.cs
  inflating: UnitySource/Tests/ObjectBuilder/BuildKeyMappingPolicyTest.cs
  inflating: UnitySource/Tests/ObjectBuilder/BuildKeyMappingStrategyTest.cs
  inflating: UnitySource/Tests/ObjectBuilder/GenericTypeMappingTest.cs
  inflating: UnitySource/Tests/ObjectBuilder/LifetimeContainerTest.cs
  inflating: UnitySource/Tests/ObjectBuilder/LifetimeStrategyTest.cs
  inflating: UnitySource/Tests/ObjectBuilder/LocatorTest.cs
  inflating: UnitySource/Tests/ObjectBuilder/PolicyListTest.cs
   creating: UnitySource/Tests/ObjectBuilder/Properties/
  inflating: UnitySource/Tests/ObjectBuilder/Properties/AssemblyInfo.cs
  inflating: UnitySource/Tests/ObjectBuilder/ReadOnlyLocatorTest.cs
  inflating: UnitySource/Tests/ObjectBuilder/RecoveryFixture.cs
  inflating: UnitySource/Tests/ObjectBuilder/SingletonThreadingFixture.cs
  inflating: UnitySource/Tests/ObjectBuilder/StagedStrategyChainTest.cs
  inflating: UnitySource/Tests/ObjectBuilder/Tests.ObjectBuilder.csproj
   creating: UnitySource/Tests/ObjectBuilder/Utility/
  inflating:
UnitySource/Tests/ObjectBuilder/Utility/ActivatorCreationStrategy.cs
  inflating:
UnitySource/Tests/ObjectBuilder/Utility/AssertActualExpectedException.cs
  inflating: UnitySource/Tests/ObjectBuilder/Utility/AssertHelper.cs
  inflating: UnitySource/Tests/ObjectBuilder/Utility/MockBuilderContext.cs
  inflating: UnitySource/Tests/ObjectBuilder/WeakRefDictionaryTest.cs
   creating: UnitySource/Tests/ObjectBuilder.BuildPlan/
  inflating:
UnitySource/Tests/ObjectBuilder.BuildPlan/BuildPlanStrategyFixture.cs
  inflating:
UnitySource/Tests/ObjectBuilder.BuildPlan/ConstructorSelectorFixture.cs
  inflating:
UnitySource/Tests/ObjectBuilder.BuildPlan/DynamicMethodCallFixture.cs
  inflating:
UnitySource/Tests/ObjectBuilder.BuildPlan/DynamicMethodConstructionFixture.cs
  inflating:
UnitySource/Tests/ObjectBuilder.BuildPlan/DynamicMethodPropertySetterFixture.cs
   creating: UnitySource/Tests/ObjectBuilder.BuildPlan/Properties/
  inflating:
UnitySource/Tests/ObjectBuilder.BuildPlan/Properties/AssemblyInfo.cs
  inflating:
UnitySource/Tests/ObjectBuilder.BuildPlan/PropertySelectorFixture.cs
   creating: UnitySource/Tests/ObjectBuilder.BuildPlan/TestDoubles/
  inflating:
UnitySource/Tests/ObjectBuilder.BuildPlan/TestDoubles/DependencyAttribute.cs
  inflating:
UnitySource/Tests/ObjectBuilder.BuildPlan/TestDoubles/InjectionConstructorAttribute.cs
  inflating:
UnitySource/Tests/ObjectBuilder.BuildPlan/TestDoubles/InjectionMethodAttribute.cs
  inflating:
UnitySource/Tests/ObjectBuilder.BuildPlan/TestDoubles/TestingBuilderContext.cs
   creating: UnitySource/Tests/ObjectBuilder.BuildPlan/TestObjects/
  inflating:
UnitySource/Tests/ObjectBuilder.BuildPlan/TestObjects/FileLogger.cs
  inflating:
UnitySource/Tests/ObjectBuilder.BuildPlan/TestObjects/NullLogger.cs
  inflating:
UnitySource/Tests/ObjectBuilder.BuildPlan/TestObjects/ObjectWithAmbiguousConstructors.cs
  inflating:
UnitySource/Tests/ObjectBuilder.BuildPlan/TestObjects/ObjectWithAmbiguousMarkedConstructor.cs
  inflating:
UnitySource/Tests/ObjectBuilder.BuildPlan/TestObjects/ObjectWithMarkedConstructor.cs
  inflating:
UnitySource/Tests/ObjectBuilder.BuildPlan/TestObjects/ObjectWithMultipleConstructors.cs
  inflating:
UnitySource/Tests/ObjectBuilder.BuildPlan/TestObjects/OptionalLogger.cs
  inflating:
UnitySource/Tests/ObjectBuilder.BuildPlan/Tests.ObjectBuilder.BuildPlan.csproj
   creating: UnitySource/Tests/Unity.Tests/
  inflating: UnitySource/Tests/Unity.Tests/App.config
  inflating: UnitySource/Tests/Unity.Tests/Basic.config
  inflating: UnitySource/Tests/Unity.Tests/CodeplexIssuesFixture.cs
  inflating: UnitySource/Tests/Unity.Tests/ConfigurationSectionFixture.cs
  inflating:
UnitySource/Tests/Unity.Tests/ConfiguringInjectionConstructor.config
  inflating:
UnitySource/Tests/Unity.Tests/ContainerControlledLifetimeThreadingFixture.cs
  inflating: UnitySource/Tests/Unity.Tests/ContainerExtensions.config
  inflating: UnitySource/Tests/Unity.Tests/ContainersWithTypeConfig.config
  inflating: UnitySource/Tests/Unity.Tests/ContainersWithTypes.config
  inflating: UnitySource/Tests/Unity.Tests/ContainersWithTypesAlias.config
  inflating: UnitySource/Tests/Unity.Tests/DisposableExtensionFixture.cs
  inflating: UnitySource/Tests/Unity.Tests/ExtensionConfig.config
  inflating: UnitySource/Tests/Unity.Tests/InjectedMembersFixture.cs
  inflating: UnitySource/Tests/Unity.Tests/InjectionConfigurationFixture.cs
  inflating: UnitySource/Tests/Unity.Tests/InjectionConstructorFixture.cs
  inflating: UnitySource/Tests/Unity.Tests/InjectionMethodFixture.cs
  inflating: UnitySource/Tests/Unity.Tests/InjectionParameterValueFixture.cs
  inflating: UnitySource/Tests/Unity.Tests/Lifetimes.config
  inflating: UnitySource/Tests/Unity.Tests/MediumTrustFixture.cs
  inflating: UnitySource/Tests/Unity.Tests/MethodInjectionFixture.cs
   creating: UnitySource/Tests/Unity.Tests/Properties/
  inflating: UnitySource/Tests/Unity.Tests/Properties/AssemblyInfo.cs
  inflating: UnitySource/Tests/Unity.Tests/RegisteringInstances.config
  inflating: UnitySource/Tests/Unity.Tests/RegisteringOneInstance.config
  inflating: UnitySource/Tests/Unity.Tests/StaticFactoryFixture.cs
   creating: UnitySource/Tests/Unity.Tests/TestDoubles/
  inflating: UnitySource/Tests/Unity.Tests/TestDoubles/ConfigElementOne.cs
  inflating: UnitySource/Tests/Unity.Tests/TestDoubles/ConfigElementTwo.cs
  inflating:
UnitySource/Tests/Unity.Tests/TestDoubles/MockContainerExtension.cs
  inflating: UnitySource/Tests/Unity.Tests/TestDoubles/MockUnityContainer.cs
  inflating:
UnitySource/Tests/Unity.Tests/TestDoubles/SessionLifetimeManager.cs
  inflating: UnitySource/Tests/Unity.Tests/TestDoubles/SpyExtension.cs
  inflating: UnitySource/Tests/Unity.Tests/TestDoubles/SpyPolicy.cs
  inflating: UnitySource/Tests/Unity.Tests/TestDoubles/SpyStrategy.cs
  inflating: UnitySource/Tests/Unity.Tests/TestDoubles/TestingBuilderContext.cs
   creating: UnitySource/Tests/Unity.Tests/TestObjects/
  inflating: UnitySource/Tests/Unity.Tests/TestObjects/DisposableObject.cs
  inflating: UnitySource/Tests/Unity.Tests/TestObjects/ILogger.cs
  inflating: UnitySource/Tests/Unity.Tests/TestObjects/MockDatabase.cs
  inflating: UnitySource/Tests/Unity.Tests/TestObjects/MockLogger.cs
  inflating: UnitySource/Tests/Unity.Tests/TestObjects/NegativeTypeConverter.cs
  inflating: UnitySource/Tests/Unity.Tests/TestObjects/ObjectUsingLogger.cs
  inflating:
UnitySource/Tests/Unity.Tests/TestObjects/ObjectWithExplicitInterface.cs
  inflating: UnitySource/Tests/Unity.Tests/TestObjects/ObjectWithIndexer.cs
  inflating:
UnitySource/Tests/Unity.Tests/TestObjects/ObjectWithInjectionConstructor.cs
  inflating:
UnitySource/Tests/Unity.Tests/TestObjects/ObjectWithInjectionMethod.cs
  inflating:
UnitySource/Tests/Unity.Tests/TestObjects/ObjectWithLotsOfDependencies.cs
  inflating:
UnitySource/Tests/Unity.Tests/TestObjects/ObjectWithOneConstructorDependency.cs
  inflating:
UnitySource/Tests/Unity.Tests/TestObjects/ObjectWithOneDependency.cs
  inflating:
UnitySource/Tests/Unity.Tests/TestObjects/ObjectWithTwoConstructorDependencies.cs
  inflating:
UnitySource/Tests/Unity.Tests/TestObjects/ObjectWithTwoConstructorParameters.cs
  inflating:
UnitySource/Tests/Unity.Tests/TestObjects/ObjectWithTwoProperties.cs
  inflating: UnitySource/Tests/Unity.Tests/TestObjects/SpecialLogger.cs
  inflating: UnitySource/Tests/Unity.Tests/TestObjects/TypeConfigMock.cs
  inflating: UnitySource/Tests/Unity.Tests/Tests.Unity.csproj
  inflating: UnitySource/Tests/Unity.Tests/UnityContainerFixture.cs
  inflating: UnitySource/Tests/Unity.Tests/UnityExtensionFixture.cs
  inflating: UnitySource/Tests/Unity.Tests/UnityHierarchyFixture.cs
  inflating: UnitySource/Tests/Unity.Tests/UnnamedContainers.config
  inflating: UnitySource/Unity.sln
  inflating: UnitySource/Unity.vsmdi
/tmp/unity$ ls
UnitySource  UnitySource.zip
/tmp/unity$ cd UnitySource/
/tmp/unity/UnitySource$ tree .
.
|-- Src
|   |-- Common
|   |   `-- GlobalAssemblyInfo.cs
|   |-- ObjectBuilder
|   |   |-- Builder.cs
|   |   |-- BuilderContext.cs
|   |   |-- Exceptions
|   |   |   |-- BuildFailedException.cs
|   |   |   |-- DependencyMissingException.cs
|   |   |   `-- IllegalInjectionMethodException.cs
|   |   |-- GlobalSuppressions.cs
|   |   |-- IBuildKey.cs
|   |   |-- IBuilder.cs
|   |   |-- IBuilderContext.cs
|   |   |-- IRecoveryStack.cs
|   |   |-- IRequiresRecovery.cs
|   |   |-- Lifetime
|   |   |   |-- ILifetimeContainer.cs
|   |   |   `-- LifetimeContainer.cs
|   |   |-- Location
|   |   |   |-- IReadWriteLocator.cs
|   |   |   |-- IReadableLocator.cs
|   |   |   |-- Locator.cs
|   |   |   |-- ReadOnlyLocator.cs
|   |   |   |-- ReadWriteLocator.cs
|   |   |   |-- ReadableLocator.cs
|   |   |   `-- WeakRefDictionary.cs
|   |   |-- ObjectBuilder.csproj
|   |   |-- Policies
|   |   |   |-- IBuilderPolicy.cs
|   |   |   |-- IPolicyList.cs
|   |   |   `-- PolicyList.cs
|   |   |-- Properties
|   |   |   |-- AssemblyInfo.cs
|   |   |   |-- Resources.Designer.cs
|   |   |   `-- Resources.resx
|   |   |-- RecoveryStack.cs
|   |   |-- Strategies
|   |   |   |-- BuildKeyMapping
|   |   |   |   |-- BuildKeyMappingPolicy.cs
|   |   |   |   |-- BuildKeyMappingStrategy.cs
|   |   |   |   |-- GenericTypeBuildKeyMappingPolicy.cs
|   |   |   |   `-- IBuildKeyMappingPolicy.cs
|   |   |   |-- BuildPlan
|   |   |   |   |-- BuildPlanStrategy.cs
|   |   |   |   |-- Creation
|   |   |   |   |   |-- ConstructorSelectorPolicy.cs
|   |   |   |   |   |-- ConstructorSelectorPolicyBase.cs
|   |   |   |   |   |-- IConstructorSelectorPolicy.cs
|   |   |   |   |   |-- SelectedConstructor.cs
|   |   |   |   |   `-- SelectedMemberWithParameters.cs
|   |   |   |   |-- DynamicMethod
|   |   |   |   |   |-- Creation
|   |   |   |   |   |   `-- DynamicMethodConstructorStrategy.cs
|   |   |   |   |   |-- DynamicBuildPlanGenerationContext.cs
|   |   |   |   |   |-- DynamicMethodBuildPlan.cs
|   |   |   |   |   |-- DynamicMethodBuildPlanCreatorPolicy.cs
|   |   |   |   |   |-- Method
|   |   |   |   |   |   `-- DynamicMethodCallStrategy.cs
|   |   |   |   |   `-- Property
|   |   |   |   |       `-- DynamicMethodPropertySetterStrategy.cs
|   |   |   |   |-- IBuildPlanCreatorPolicy.cs
|   |   |   |   |-- IBuildPlanPolicy.cs
|   |   |   |   |-- Method
|   |   |   |   |   |-- IMethodSelectorPolicy.cs
|   |   |   |   |   |-- MethodSelectorPolicy.cs
|   |   |   |   |   |-- MethodSelectorPolicyBase.cs
|   |   |   |   |   `-- SelectedMethod.cs
|   |   |   |   |-- Property
|   |   |   |   |   |-- IPropertySelectorPolicy.cs
|   |   |   |   |   |-- PropertySelectorBase.cs
|   |   |   |   |   |-- PropertySelectorPolicy.cs
|   |   |   |   |   `-- SelectedProperty.cs
|   |   |   |   `-- Resolution
|   |   |   |       |-- DependencyResolverTrackerPolicy.cs
|   |   |   |       |-- FixedTypeResolverPolicy.cs
|   |   |   |       |-- IDependencyResolverPolicy.cs
|   |   |   |       `-- IDependencyResolverTrackerPolicy.cs
|   |   |   |-- BuilderAware
|   |   |   |   |-- BuilderAwareStrategy.cs
|   |   |   |   `-- IBuilderAware.cs
|   |   |   |-- BuilderStage.cs
|   |   |   |-- BuilderStrategy.cs
|   |   |   |-- IBuilderStrategy.cs
|   |   |   |-- IStagedStrategyChain.cs
|   |   |   |-- IStrategyChain.cs
|   |   |   |-- Lifetime
|   |   |   |   |-- ILifetimeFactoryPolicy.cs
|   |   |   |   |-- ILifetimePolicy.cs
|   |   |   |   |-- LifetimeStrategy.cs
|   |   |   |   |-- SingletonLifetimePolicy.cs
|   |   |   |   `-- TransientLifetimePolicy.cs
|   |   |   |-- StagedStrategyChain.cs
|   |   |   `-- StrategyChain.cs
|   |   `-- Utility
|   |       |-- BuildKey.cs
|   |       |-- Guard.cs
|   |       `-- NamedTypeBuildKey.cs
|   |-- Unity
|   |   |-- Attributes
|   |   |   |-- DependencyAttribute.cs
|   |   |   |-- DependencyResolutionAttribute.cs
|   |   |   |-- InjectionConstructorAttribute.cs
|   |   |   `-- InjectionMethodAttribute.cs
|   |   |-- Extension
|   |   |   |-- ExtensionContext.cs
|   |   |   |-- IUnityContainerExtensionConfigurator.cs
|   |   |   |-- NamedEventArgs.cs
|   |   |   |-- RegisterEventArgs.cs
|   |   |   |-- RegisterInstanceEventArgs.cs
|   |   |   `-- UnityContainerExtension.cs
|   |   |-- GlobalSuppressions.cs
|   |   |-- IUnityContainer.cs
|   |   |-- Injection
|   |   |   |-- InjectedMembers.cs
|   |   |   |-- InjectionConstructor.cs
|   |   |   |-- InjectionMember.cs
|   |   |   |-- InjectionMethod.cs
|   |   |   |-- InjectionParameter.cs
|   |   |   |-- InjectionParameterValue.cs
|   |   |   |-- InjectionProperty.cs
|   |   |   `-- ResolvedParameter.cs
|   |   |-- Lifetime
|   |   |   |-- ContainerControlledLifetimeManager.cs
|   |   |   |-- ExternallyControlledLifetimeManager.cs
|   |   |   |-- LifetimeManager.cs
|   |   |   |-- LifetimeManagerFactory.cs
|   |   |   `-- TransientLifetimeManager.cs
|   |   |-- NamedTypesRegistry.cs
|   |   |-- ObjectBuilder
|   |   |   |-- DefaultUnityConstructorSelectorPolicy.cs
|   |   |   |-- DefaultUnityMethodSelectorPolicy.cs
|   |   |   |-- DefaultUnityPropertySelectorPolicy.cs
|   |   |   |-- LiteralValueDependencyResolverPolicy.cs
|   |   |   |-- NamedTypeDependencyResolverPolicy.cs
|   |   |   |-- SpecifiedConstructorSelectorPolicy.cs
|   |   |   |-- SpecifiedMemberSelectorHelper.cs
|   |   |   |-- SpecifiedMethodsSelectorPolicy.cs
|   |   |   |-- SpecifiedPropertiesSelectorPolicy.cs
|   |   |   `-- UnityBuildStage.cs
|   |   |-- Properties
|   |   |   |-- AssemblyInfo.cs
|   |   |   |-- Resources.Designer.cs
|   |   |   `-- Resources.resx
|   |   |-- ResolutionFailedException.cs
|   |   |-- Unity.csproj
|   |   |-- UnityContainer.cs
|   |   |-- UnityContainerBase.cs
|   |   |-- UnityDefaultBehaviorExtension.cs
|   |   |-- UnityDefaultStrategiesExtension.cs
|   |   `-- Utility
|   |       |-- Guard.cs
|   |       |-- Pair.cs
|   |       `-- Sequence.cs
|   |-- Unity.Configuration
|   |   |-- AssemblyQualifiedTypeNameConverter.cs
|   |   |-- ConfigurationElements
|   |   |   |-- ContainerElement
|   |   |   |   |-- ContainerConfigurationExtensionElement
|   |   |   |   |   |-- UnityContainerExtensionConfigurationElement.cs
|   |   |   |   |   `--
UnityContainerExtensionConfigurationElementCollection.cs
|   |   |   |   |-- ContainerExtensionElement
|   |   |   |   |   |-- UnityContainerExtensionElement.cs
|   |   |   |   |   `-- UnityContainerExtensionElementCollection.cs
|   |   |   |   |-- InstancesElement
|   |   |   |   |   |-- UnityInstanceElement.cs
|   |   |   |   |   `-- UnityInstanceElementCollection.cs
|   |   |   |   |-- TypesElement
|   |   |   |   |   |-- LifetimeElement
|   |   |   |   |   |   `-- UnityLifetimeElement.cs
|   |   |   |   |   |-- TypeExtensionConfigurationElement
|   |   |   |   |   |   |-- UnityContainerTypeConfigurationElement.cs
|   |   |   |   |   |   `-- UnityContainerTypeConfigurationElementCollection.cs
|   |   |   |   |   |-- TypeInjectionElement
|   |   |   |   |   |   |-- InjectionConstructorElement
|   |   |   |   |   |   |   `-- InjectionConstructorElement.cs
|   |   |   |   |   |   |-- InjectionMemberElement
|   |   |   |   |   |   |   |-- InjectionMemberElement.cs
|   |   |   |   |   |   |   `-- InjectionMemberElementCollection.cs
|   |   |   |   |   |   |-- InjectionMethodElement
|   |   |   |   |   |   |   `-- InjectionMethodElement.cs
|   |   |   |   |   |   |-- InjectionParameterValueElement
|   |   |   |   |   |   |   |-- DependencyValueElement.cs
|   |   |   |   |   |   |   `-- InjectionParameterValueElement.cs
|   |   |   |   |   |   |-- InjectionPropertyElement
|   |   |   |   |   |   |   `-- InjectionPropertyElement.cs
|   |   |   |   |   |   |-- MethodParameterElement
|   |   |   |   |   |   |   |-- MethodParameterElement.cs
|   |   |   |   |   |   |   `-- MethodParameterElementCollection.cs
|   |   |   |   |   |   `-- TypeInjectionElement.cs
|   |   |   |   |   |-- UnityTypeElement.cs
|   |   |   |   |   `-- UnityTypeElementCollection.cs
|   |   |   |   |-- UnityContainerElement.cs
|   |   |   |   `-- UnityContainerElementCollection.cs
|   |   |   |-- TypeAliasesElement
|   |   |   |   |-- UnityTypeAlias.cs
|   |   |   |   `-- UnityTypeAliasCollection.cs
|   |   |   `-- UnityConfigurationSection.cs
|   |   |-- IContainerConfigurationCommand.cs
|   |   |-- IResolvesTypeAliases.cs
|   |   |-- InstanceValueElement.cs
|   |   |-- Properties
|   |   |   |-- AssemblyInfo.cs
|   |   |   |-- Resources.Designer.cs
|   |   |   `-- Resources.resx
|   |   |-- TypeResolvingConfigurationElement.cs
|   |   |-- TypeResolvingConfigurationElementCollection.cs
|   |   |-- Unity.Configuration.csproj
|   |   `-- UnityTypeResolver.cs
|   `-- Unity.StaticFactory
|       |-- FactoryDelegateBuildPlanPolicy.cs
|       |-- IStaticFactoryConfiguration.cs
|       |-- Properties
|       |   `-- AssemblyInfo.cs
|       |-- StaticFactoryExtension.cs
|       `-- Unity.StaticFactory.csproj
|-- Tests
|   |-- ObjectBuilder
|   |   |-- BuildFailedExceptionTest.cs
|   |   |-- BuildKeyMappingPolicyTest.cs
|   |   |-- BuildKeyMappingStrategyTest.cs
|   |   |-- BuilderAwareStrategyTest.cs
|   |   |-- BuilderTest.cs
|   |   |-- GenericTypeMappingTest.cs
|   |   |-- LifetimeContainerTest.cs
|   |   |-- LifetimeStrategyTest.cs
|   |   |-- LocatorTest.cs
|   |   |-- PolicyListTest.cs
|   |   |-- Properties
|   |   |   `-- AssemblyInfo.cs
|   |   |-- ReadOnlyLocatorTest.cs
|   |   |-- RecoveryFixture.cs
|   |   |-- SingletonThreadingFixture.cs
|   |   |-- StagedStrategyChainTest.cs
|   |   |-- Tests.ObjectBuilder.csproj
|   |   |-- Utility
|   |   |   |-- ActivatorCreationStrategy.cs
|   |   |   |-- AssertActualExpectedException.cs
|   |   |   |-- AssertHelper.cs
|   |   |   `-- MockBuilderContext.cs
|   |   `-- WeakRefDictionaryTest.cs
|   |-- ObjectBuilder.BuildPlan
|   |   |-- BuildPlanStrategyFixture.cs
|   |   |-- ConstructorSelectorFixture.cs
|   |   |-- DynamicMethodCallFixture.cs
|   |   |-- DynamicMethodConstructionFixture.cs
|   |   |-- DynamicMethodPropertySetterFixture.cs
|   |   |-- Properties
|   |   |   `-- AssemblyInfo.cs
|   |   |-- PropertySelectorFixture.cs
|   |   |-- TestDoubles
|   |   |   |-- DependencyAttribute.cs
|   |   |   |-- InjectionConstructorAttribute.cs
|   |   |   |-- InjectionMethodAttribute.cs
|   |   |   `-- TestingBuilderContext.cs
|   |   |-- TestObjects
|   |   |   |-- FileLogger.cs
|   |   |   |-- NullLogger.cs
|   |   |   |-- ObjectWithAmbiguousConstructors.cs
|   |   |   |-- ObjectWithAmbiguousMarkedConstructor.cs
|   |   |   |-- ObjectWithMarkedConstructor.cs
|   |   |   |-- ObjectWithMultipleConstructors.cs
|   |   |   `-- OptionalLogger.cs
|   |   `-- Tests.ObjectBuilder.BuildPlan.csproj
|   `-- Unity.Tests
|       |-- App.config
|       |-- Basic.config
|       |-- CodeplexIssuesFixture.cs
|       |-- ConfigurationSectionFixture.cs
|       |-- ConfiguringInjectionConstructor.config
|       |-- ContainerControlledLifetimeThreadingFixture.cs
|       |-- ContainerExtensions.config
|       |-- ContainersWithTypeConfig.config
|       |-- ContainersWithTypes.config
|       |-- ContainersWithTypesAlias.config
|       |-- DisposableExtensionFixture.cs
|       |-- ExtensionConfig.config
|       |-- InjectedMembersFixture.cs
|       |-- InjectionConfigurationFixture.cs
|       |-- InjectionConstructorFixture.cs
|       |-- InjectionMethodFixture.cs
|       |-- InjectionParameterValueFixture.cs
|       |-- Lifetimes.config
|       |-- MediumTrustFixture.cs
|       |-- MethodInjectionFixture.cs
|       |-- Properties
|       |   `-- AssemblyInfo.cs
|       |-- RegisteringInstances.config
|       |-- RegisteringOneInstance.config
|       |-- StaticFactoryFixture.cs
|       |-- TestDoubles
|       |   |-- ConfigElementOne.cs
|       |   |-- ConfigElementTwo.cs
|       |   |-- MockContainerExtension.cs
|       |   |-- MockUnityContainer.cs
|       |   |-- SessionLifetimeManager.cs
|       |   |-- SpyExtension.cs
|       |   |-- SpyPolicy.cs
|       |   |-- SpyStrategy.cs
|       |   `-- TestingBuilderContext.cs
|       |-- TestObjects
|       |   |-- DisposableObject.cs
|       |   |-- ILogger.cs
|       |   |-- MockDatabase.cs
|       |   |-- MockLogger.cs
|       |   |-- NegativeTypeConverter.cs
|       |   |-- ObjectUsingLogger.cs
|       |   |-- ObjectWithExplicitInterface.cs
|       |   |-- ObjectWithIndexer.cs
|       |   |-- ObjectWithInjectionConstructor.cs
|       |   |-- ObjectWithInjectionMethod.cs
|       |   |-- ObjectWithLotsOfDependencies.cs
|       |   |-- ObjectWithOneConstructorDependency.cs
|       |   |-- ObjectWithOneDependency.cs
|       |   |-- ObjectWithTwoConstructorDependencies.cs
|       |   |-- ObjectWithTwoConstructorParameters.cs
|       |   |-- ObjectWithTwoProperties.cs
|       |   |-- SpecialLogger.cs
|       |   `-- TypeConfigMock.cs
|       |-- Tests.Unity.csproj
|       |-- UnityContainerFixture.cs
|       |-- UnityExtensionFixture.cs
|       |-- UnityHierarchyFixture.cs
|       `-- UnnamedContainers.config
|-- Unity.sln
|-- Unity.vsmdi
`-- localtestrun.testrunconfig

62 directories, 265 files
/tmp/unity/UnitySource$ ls
localtestrun.testrunconfig  Src  Tests  Unity.sln  Unity.vsmdi
/tmp/unity/UnitySource$ cd Src/
/tmp/unity/UnitySource/Src$ ls
Common  ObjectBuilder  Unity  Unity.Configuration  Unity.StaticFactory
/tmp/unity/UnitySource/Src$ cd ObjectBuilder/
/tmp/unity/UnitySource/Src/ObjectBuilder$ ls
BuilderContext.cs  Exceptions             IBuilderContext.cs  IBuildKey.cs     
 IRequiresRecovery.cs  Location              Policies    RecoveryStack.cs 
Utility
Builder.cs         GlobalSuppressions.cs  IBuilder.cs         IRecoveryStack.cs
 Lifetime              ObjectBuilder.csproj  Properties  Strategies
/tmp/unity/UnitySource/Src/ObjectBuilder$ gmcs /target:library
/output:Microsoft.Practices.ObjectBuilder2.dll `find . -name '*.cs'`
error CS2007: Unrecognized command-line option:
`/output:Microsoft.Practices.ObjectBuilder2.dll'
Compilation failed: 1 error(s), 0 warnings
/tmp/unity/UnitySource/Src/ObjectBuilder$ man gmcs
/tmp/unity/UnitySource/Src/ObjectBuilder$ gmcs /target:library
/out:Microsoft.Practices.ObjectBuilder2.dll `find . -name '*.cs'`
/Location/WeakRefDictionary.cs(112,24): warning CS0169: The private method
`Microsoft.Practices.ObjectBuilder2.WeakRefDictionary<TKey,TValue>.DecodeNullObject<TObject>(object)'
is never used
Compilation succeeded - 1 warning(s)
/tmp/unity/UnitySource/Src/ObjectBuilder$ ls
BuilderContext.cs  GlobalSuppressions.cs  IBuildKey.cs          Lifetime       
                        ObjectBuilder.csproj  RecoveryStack.cs
Builder.cs         IBuilderContext.cs     IRecoveryStack.cs     Location       
                        Policies              Strategies
Exceptions         IBuilder.cs            IRequiresRecovery.cs 
Microsoft.Practices.ObjectBuilder2.dll  Properties            Utility
/tmp/unity/UnitySource/Src/ObjectBuilder$ cd ../Unity
/tmp/unity/UnitySource/Src/Unity$ ls
Attributes             Injection           NamedTypesRegistry.cs 
ResolutionFailedException.cs  Unity.csproj                        Utility
Extension              IUnityContainer.cs  ObjectBuilder         
UnityContainerBase.cs         UnityDefaultBehaviorExtension.cs
GlobalSuppressions.cs  Lifetime            Properties            
UnityContainer.cs             UnityDefaultStrategiesExtension.cs
/tmp/unity/UnitySource/Src/Unity$ cp
./ObjectBuilder/Microsoft.Practices.ObjectBuilder2.dll .

/tmp/unity/UnitySource/Src/Unity$ gmcs
/reference:Microsoft.Practices.ObjectBuilder2.dll /target:library
/out:Microsoft.Practices.Unity.dll `find . -name '*.cs'`

Unhandled Exception: Mono.CSharp.InternalErrorException:
/UnityContainerBase.cs(41,32):
Microsoft.Practices.Unity.UnityContainerBase.RegisterType<TFrom,TTo>() --->
System.IndexOutOfRangeException: Array index is out of range.
  at Mono.CSharp.TypeParameter+InflatedConstraints.inflate (System.Type t)
[0x00000]
  at Mono.CSharp.TypeParameter+InflatedConstraints..ctor
(Mono.CSharp.GenericConstraints gc, System.Type[] dargs) [0x00000]
  at Mono.CSharp.TypeParameter+InflatedConstraints..ctor
(Mono.CSharp.GenericConstraints gc, System.Type declaring) [0x00000]
  at Mono.CSharp.TypeParameter.DefineType (IResolveContext ec,
System.Reflection.Emit.MethodBuilder builder, System.Reflection.MethodInfo
implementing, Boolean is_override) [0x00000]
  at Mono.CSharp.GenericMethod.DefineType (Mono.CSharp.EmitContext ec,
System.Reflection.Emit.MethodBuilder mb, System.Reflection.MethodInfo
implementing, Boolean is_override) [0x00000]
  at Mono.CSharp.MethodData.Define (Mono.CSharp.DeclSpace parent) [0x00000]
  at Mono.CSharp.MethodOrOperator.Define () [0x00000]
  at Mono.CSharp.Method.Define () [0x00000]
  at Mono.CSharp.TypeContainer+MemberCoreArrayList.DefineContainerMembers ()
[0x00000] --- End of inner exception stack trace ---

  at Mono.CSharp.TypeContainer+MemberCoreArrayList.DefineContainerMembers ()
[0x00000]
  at Mono.CSharp.TypeContainer.DefineContainerMembers
(Mono.CSharp.MemberCoreArrayList mcal) [0x00000]
  at Mono.CSharp.Class.DefineContainerMembers (Mono.CSharp.MemberCoreArrayList
list) [0x00000]
  at Mono.CSharp.TypeContainer.DoDefineMembers () [0x00000]
  at Mono.CSharp.Class.DoDefineMembers () [0x00000]
  at Mono.CSharp.TypeContainer.DefineMembers () [0x00000]
  at Mono.CSharp.RootContext.PopulateTypes () [0x00000]
  at Mono.CSharp.Driver.MainDriver (System.String[] args) [0x00000]
  at Mono.CSharp.Driver.Main (System.String[] args) [0x00000]


Actual Results:
Exception raised by the gmcs compiler.

Expected Results:
The creation of the Unity assembly.

How often does this happen? 
Always.

Additional Information:
The Unity's dlls compile fine with Visual Studio 2005 Professional Edition.
Once the dlls are compiled they can be used with Mono without any problem :
/tmp/test$ ls
A.cs  Microsoft.Practices.ObjectBuilder2.dll 
Microsoft.Practices.Unity.Configuration.dll  Microsoft.Practices.Unity.dll 
Test.cs  Test.exe.config
/tmp/test$ cat A.cs
public interface IA
{
}

public class A : IA
{
}
/tmp/test$ cat Test.cs
class Test
{
        private static void Main()
        {
                Microsoft.Practices.Unity.IUnityContainer unityContainer = new
Microsoft.Practices.Unity.UnityContainer();

               
Microsoft.Practices.Unity.Configuration.UnityConfigurationSection
configurationSection =
System.Configuration.ConfigurationManager.GetSection("unity") as
Microsoft.Practices.Unity.Configuration.UnityConfigurationSection;

               
configurationSection.Containers.Default.Configure(unityContainer);

                IA iA1 = unityContainer.Resolve<IA>();
                IA iA2 = unityContainer.Resolve<IA>();

                System.Console.WriteLine(iA1.GetHashCode());
                System.Console.WriteLine(iA2.GetHashCode());
        }
}
/tmp/test$ gmcs /target:library A.cs
/tmp/test$ gmcs Test.cs /reference:Microsoft.Practices.Unity.dll
/reference:Microsoft.Practices.Unity.Configuration.dll
/reference:System.Configuration /reference:A.dll
/tmp/test$ cat Test.exe.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
        <configSections>
                <section name="unity"
type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection,
Microsoft.Practices.Unity.Configuration"/>
        </configSections>
        <unity>
                <containers>
                        <container>
                                <types>
                                        <type type="IA, A" mapTo="A, A">
                                        </type>
                                </types>
                        </container>
                </containers>
        </unity>
</configuration>
/tmp/test$ ./Test.exe
-220310656
-1616393728


-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list