diff --git a/Source/Projects/Windsor.ExtensionTests/Registration/Decorator/ExecutionStack.cs b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/ExecutionStack.cs similarity index 94% rename from Source/Projects/Windsor.ExtensionTests/Registration/Decorator/ExecutionStack.cs rename to Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/ExecutionStack.cs index cc4cdec..e5414e8 100644 --- a/Source/Projects/Windsor.ExtensionTests/Registration/Decorator/ExecutionStack.cs +++ b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/ExecutionStack.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; -namespace Windsor.ExtensionTests.Registration.Decorator +namespace Windsor.Extension.Tests.Registration.Decorator.Components { public class ExecutionStack { diff --git a/Source/Projects/Windsor.ExtensionTests/Registration/Decorator/Calculator1.cs b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/NonGeneric/Calculator1.cs similarity index 75% rename from Source/Projects/Windsor.ExtensionTests/Registration/Decorator/Calculator1.cs rename to Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/NonGeneric/Calculator1.cs index d616fc2..9b85de2 100644 --- a/Source/Projects/Windsor.ExtensionTests/Registration/Decorator/Calculator1.cs +++ b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/NonGeneric/Calculator1.cs @@ -1,8 +1,8 @@ using System; -namespace Windsor.ExtensionTests.Registration.Decorator +namespace Windsor.Extension.Tests.Registration.Decorator.Components.NonGeneric { - public class Calculator1: ICalculator + public class Calculator1 : ICalculator { private readonly ExecutionStack executionStack; diff --git a/Source/Projects/Windsor.ExtensionTests/Registration/Decorator/Calculator2.cs b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/NonGeneric/Calculator2.cs similarity index 84% rename from Source/Projects/Windsor.ExtensionTests/Registration/Decorator/Calculator2.cs rename to Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/NonGeneric/Calculator2.cs index ba5a217..852fb80 100644 --- a/Source/Projects/Windsor.ExtensionTests/Registration/Decorator/Calculator2.cs +++ b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/NonGeneric/Calculator2.cs @@ -1,6 +1,6 @@ using System; -namespace Windsor.ExtensionTests.Registration.Decorator +namespace Windsor.Extension.Tests.Registration.Decorator.Components.NonGeneric { public class Calculator2 : ICalculator { diff --git a/Source/Projects/Windsor.ExtensionTests/Registration/Decorator/ExceptionDecorator.cs b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/NonGeneric/ExceptionDecorator.cs similarity index 88% rename from Source/Projects/Windsor.ExtensionTests/Registration/Decorator/ExceptionDecorator.cs rename to Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/NonGeneric/ExceptionDecorator.cs index 3db49db..ab1ed04 100644 --- a/Source/Projects/Windsor.ExtensionTests/Registration/Decorator/ExceptionDecorator.cs +++ b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/NonGeneric/ExceptionDecorator.cs @@ -1,6 +1,6 @@ using System; -namespace Windsor.ExtensionTests.Registration.Decorator +namespace Windsor.Extension.Tests.Registration.Decorator.Components.NonGeneric { internal class ExceptionDecorator : ICalculator { diff --git a/Source/Projects/Windsor.ExtensionTests/Registration/Decorator/ICalculator.cs b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/NonGeneric/ICalculator.cs similarity index 59% rename from Source/Projects/Windsor.ExtensionTests/Registration/Decorator/ICalculator.cs rename to Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/NonGeneric/ICalculator.cs index 6f507af..1cfe5c5 100644 --- a/Source/Projects/Windsor.ExtensionTests/Registration/Decorator/ICalculator.cs +++ b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/NonGeneric/ICalculator.cs @@ -1,6 +1,6 @@ using System; -namespace Windsor.ExtensionTests.Registration.Decorator +namespace Windsor.Extension.Tests.Registration.Decorator.Components.NonGeneric { public interface ICalculator { diff --git a/Source/Projects/Windsor.ExtensionTests/Registration/Decorator/LogDecorator.cs b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/NonGeneric/LogDecorator.cs similarity index 82% rename from Source/Projects/Windsor.ExtensionTests/Registration/Decorator/LogDecorator.cs rename to Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/NonGeneric/LogDecorator.cs index c4eba14..296e0eb 100644 --- a/Source/Projects/Windsor.ExtensionTests/Registration/Decorator/LogDecorator.cs +++ b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/NonGeneric/LogDecorator.cs @@ -1,8 +1,8 @@ using System; -namespace Windsor.ExtensionTests.Registration.Decorator +namespace Windsor.Extension.Tests.Registration.Decorator.Components.NonGeneric { - internal class LogDecorator: ICalculator + internal class LogDecorator : ICalculator { private readonly ICalculator decorated; private readonly ExecutionStack executionStack; diff --git a/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/SingleGeneric/GenericCalculator1.cs b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/SingleGeneric/GenericCalculator1.cs new file mode 100644 index 0000000..26ce52b --- /dev/null +++ b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/SingleGeneric/GenericCalculator1.cs @@ -0,0 +1,20 @@ +using System; + +namespace Windsor.Extension.Tests.Registration.Decorator.Components.SingleGeneric +{ + public class GenericCalculator1 : IGenericCalculator + { + private readonly ExecutionStack executionStack; + + public GenericCalculator1(ExecutionStack executionStack) + { + this.executionStack = executionStack; + } + + public long Sum(Guid executionId, long x, long y) + { + executionStack.PushInstance(executionId, this); + return x + y; + } + } +} \ No newline at end of file diff --git a/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/SingleGeneric/GenericCalculator2.cs b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/SingleGeneric/GenericCalculator2.cs new file mode 100644 index 0000000..71aeaff --- /dev/null +++ b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/SingleGeneric/GenericCalculator2.cs @@ -0,0 +1,20 @@ +using System; + +namespace Windsor.Extension.Tests.Registration.Decorator.Components.SingleGeneric +{ + public class GenericCalculator2 : IGenericCalculator + { + private readonly ExecutionStack executionStack; + + public GenericCalculator2(ExecutionStack executionStack) + { + this.executionStack = executionStack; + } + + public int Sum(Guid executionId, int x, int y) + { + executionStack.PushInstance(executionId, this); + return x + y; + } + } +} \ No newline at end of file diff --git a/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/SingleGeneric/GenericCalculator3.cs b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/SingleGeneric/GenericCalculator3.cs new file mode 100644 index 0000000..284a75b --- /dev/null +++ b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/SingleGeneric/GenericCalculator3.cs @@ -0,0 +1,20 @@ +using System; + +namespace Windsor.Extension.Tests.Registration.Decorator.Components.SingleGeneric +{ + public class GenericCalculator3 : IGenericCalculator + { + private readonly ExecutionStack executionStack; + + public GenericCalculator3(ExecutionStack executionStack) + { + this.executionStack = executionStack; + } + + public long Sum(Guid executionId, long x, long y) + { + executionStack.PushInstance(executionId, this); + return x + y; + } + } +} diff --git a/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/SingleGeneric/GenericExceptionDecorator.cs b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/SingleGeneric/GenericExceptionDecorator.cs new file mode 100644 index 0000000..4b8ba14 --- /dev/null +++ b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/SingleGeneric/GenericExceptionDecorator.cs @@ -0,0 +1,23 @@ +using System; + +namespace Windsor.Extension.Tests.Registration.Decorator.Components.SingleGeneric +{ + class GenericExceptionDecorator : IGenericCalculator + { + private readonly IGenericCalculator decorated; + private readonly ExecutionStack executionStack; + + public GenericExceptionDecorator(IGenericCalculator decorated, ExecutionStack executionStack) + { + this.decorated = decorated; + this.executionStack = executionStack; + } + + public T Sum(Guid executionId, T x, T y) + { + var sum = decorated.Sum(executionId, x, y); + executionStack.PushInstance(executionId, this); + return sum; + } + } +} diff --git a/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/SingleGeneric/GenericLogDecorator.cs b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/SingleGeneric/GenericLogDecorator.cs new file mode 100644 index 0000000..a962b3c --- /dev/null +++ b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/SingleGeneric/GenericLogDecorator.cs @@ -0,0 +1,24 @@ +using System; + +namespace Windsor.Extension.Tests.Registration.Decorator.Components.SingleGeneric +{ + class GenericLogDecorator : IGenericCalculator + { + private readonly IGenericCalculator decorated; + private readonly ExecutionStack executionStack; + + public GenericLogDecorator(IGenericCalculator decorated, ExecutionStack executionStack) + { + this.decorated = decorated; + this.executionStack = executionStack; + } + + public T Sum(Guid executionId, T x, T y) + { + var result = decorated.Sum(executionId, x, y); + executionStack.PushInstance(executionId, this); + Console.WriteLine("Sum executed"); + return result; + } + } +} diff --git a/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/SingleGeneric/IGenericCalculator.cs b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/SingleGeneric/IGenericCalculator.cs new file mode 100644 index 0000000..4994e87 --- /dev/null +++ b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/Components/SingleGeneric/IGenericCalculator.cs @@ -0,0 +1,9 @@ +using System; + +namespace Windsor.Extension.Tests.Registration.Decorator.Components.SingleGeneric +{ + interface IGenericCalculator + { + T Sum(Guid executionId, T x, T y); + } +} \ No newline at end of file diff --git a/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/DecorationRegistrationTests.cs b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/DecorationRegistrationTests.cs new file mode 100644 index 0000000..f4712c5 --- /dev/null +++ b/Source/Projects/Windsor.Extension.Tests/Registration/Decorator/DecorationRegistrationTests.cs @@ -0,0 +1,174 @@ +using System; +using Castle.MicroKernel.Registration; +using Castle.Windsor; +using Windsor.Extension.Tests.Registration.Decorator.Components; +using Windsor.Extension.Tests.Registration.Decorator.Components.NonGeneric; +using Windsor.Extension.Tests.Registration.Decorator.Components.SingleGeneric; +using Xunit; + +namespace Windsor.Extension.Tests.Registration.Decorator +{ + public class DecorationRegistrationTests + { + private readonly IWindsorContainer container = new WindsorContainer(); + private readonly ExecutionStack executionStack; + + public DecorationRegistrationTests() + { + container = new WindsorContainer(); + container.Register(Component.For()); + executionStack = container.Resolve(); + } + + [Fact] + public void Single_Component_Registration_For_NonGenericClass_With_One_Decorator_Should_Be_Successful() + { + container.Register( + Component + .For() + .ImplementedBy() + .Decorated().By() + ); + + TestCalculator(typeof(LogDecorator)); + } + + [Fact] + public void Single_Component_Registration_For_NonGenericClass_With_Multiple_Decorator_Should_Be_Successful() + { + container.Register( + Component + .For() + .ImplementedBy() + .Decorated().By() + .Decorated().By() + ); + + TestCalculator(typeof(ExceptionDecorator), typeof(LogDecorator)); + } + + [Fact] + public void Multi_Component_Registration_For_NonGenericClass_With_Single_Decorator_Should_Be_Successful() + { + container.Register( + Classes + .FromAssemblyContaining() + .BasedOn() + .WithService + .FromInterface() + .Decorated().By() + ); + + TestCalculator(typeof(ExceptionDecorator)); + TestCalculator(typeof(ExceptionDecorator)); + } + + [Fact] + public void Multi_Component_Registration_For_NonGenericClass_With_Multiple_Decorator_Should_Be_Successful() + { + container.Register( + Classes + .FromAssemblyContaining() + .BasedOn() + .WithService + .FromInterface() + .Decorated().By() + .Decorated().By() + ); + + TestCalculator(typeof(ExceptionDecorator), typeof(LogDecorator)); + TestCalculator(typeof(ExceptionDecorator), typeof(LogDecorator)); + } + + [Fact] + public void Single_Component_Registration_For_GenericClass_With_One_Decorator_Should_Be_Successful() + { + container.Register( + Component + .For>() + .ImplementedBy() + .Decorated().By>() + ); + + TestSingleGenericCalculator(1, 3, typeof(GenericLogDecorator)); + } + + [Fact] + public void Single_Component_Registration_For_GenericClass_With_Multiple_Decorator_Should_Be_Successful() + { + container.Register( + Component + .For>() + .ImplementedBy() + .Decorated().By>() + .Decorated().By>() + ); + + TestSingleGenericCalculator(1L, 3L, typeof(GenericExceptionDecorator), typeof(GenericLogDecorator)); + } + + [Fact] + public void Multi_Component_Registration_For_GenericClass_With_Single_Decorator_Should_Be_Successful() + { + container.Register( + Classes + .FromAssemblyContaining() + .BasedOn>() + .WithService + .FromInterface() + .Decorated().By>() + ); + + TestSingleGenericCalculator(1L, 3L, typeof(GenericExceptionDecorator)); + TestSingleGenericCalculator(1L, 3L, typeof(GenericExceptionDecorator)); + } + + [Fact] + public void Multi_Component_Registration_For_GenericClass_With_Multiple_Decorator_Should_Be_Successful() + { + container.Register( + Classes + .FromAssemblyContaining() + .BasedOn>() + .WithService + .FromInterface() + .Decorated().By>() + .Decorated().By>() + ); + + TestSingleGenericCalculator(1L, 3L, typeof(GenericExceptionDecorator), typeof(GenericLogDecorator)); + TestSingleGenericCalculator(1L, 3L, typeof(GenericExceptionDecorator), typeof(GenericLogDecorator)); + } + + private void TestCalculator(params Type[] decoratorTypes) + where TCalculator : ICalculator + { + var calculator = container.Resolve(typeof(TCalculator).FullName); + Guid executionId = Guid.NewGuid(); + calculator.Sum(executionId, 1, 2); + + foreach (var decoratorType in decoratorTypes) + { + var instance = executionStack.PopInstance(executionId); + Assert.Equal(instance.GetType(), decoratorType); + } + + Assert.Equal(typeof(TCalculator), executionStack.PopInstance(executionId).GetType()); + } + + private void TestSingleGenericCalculator(TArg first, TArg second, params Type[] decoratorTypes) + { + var calculator = container.Resolve>(typeof(TGenericCalculator).FullName); + Guid executionId = Guid.NewGuid(); + calculator.Sum(executionId, first, second); + + foreach (var decoratorType in decoratorTypes) + { + var instance = executionStack.PopInstance(executionId); + Assert.Equal(instance.GetType(), decoratorType); + } + + Assert.Equal(typeof(TGenericCalculator), executionStack.PopInstance(executionId).GetType()); + } + } +} \ No newline at end of file diff --git a/Source/Projects/Windsor.Extension.Tests/Windsor.Extension.Tests.csproj b/Source/Projects/Windsor.Extension.Tests/Windsor.Extension.Tests.csproj new file mode 100644 index 0000000..5c5df2b --- /dev/null +++ b/Source/Projects/Windsor.Extension.Tests/Windsor.Extension.Tests.csproj @@ -0,0 +1,26 @@ + + + + netcoreapp3.1 + + false + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + + + + + diff --git a/Source/Projects/Windsor.Extension/Registration/Decorator/DecoratorApplier.cs b/Source/Projects/Windsor.Extension/Registration/Decorator/DecoratorApplier.cs index a08a883..efab674 100644 --- a/Source/Projects/Windsor.Extension/Registration/Decorator/DecoratorApplier.cs +++ b/Source/Projects/Windsor.Extension/Registration/Decorator/DecoratorApplier.cs @@ -9,7 +9,7 @@ namespace Windsor.Extension.Registration.Decorator { //TODO: Take o look at goood article http://kozmic.net/2009/11/15/castle-windsor-lazy-loading/ //TODO: Take o look at goood code https://github.com/castleproject/Windsor/blob/master/src/Castle.Facilities.Synchronize/CreateOnUIThreadActivator.cs - public class DecoratorApplier: IResolveExtension + public class DecoratorApplier : IResolveExtension { private IKernel currentKernel; private readonly IList decoratorTypes; @@ -54,8 +54,21 @@ public void Add(Func decoratorFunction) private object ResolveDecorator(IKernel kernel, object instance, Type type) { Arguments arguments = new Arguments(); - arguments.Add("decorated", instance); - var result = kernel.Resolve(type, arguments); + object result = null; + + var mutualType = type.GetInterfaces().FirstOrDefault(t => t.IsInstanceOfType(instance)); + + if (mutualType != null) + { + arguments.AddTyped(mutualType, instance); + } + + if (arguments.Count == 0) + { + arguments.AddNamed("decorated", instance); + } + + result = kernel.Resolve(type, arguments); return result; } diff --git a/Source/Projects/Windsor.ExtensionTests/Properties/AssemblyInfo.cs b/Source/Projects/Windsor.ExtensionTests/Properties/AssemblyInfo.cs deleted file mode 100644 index c43b40f..0000000 --- a/Source/Projects/Windsor.ExtensionTests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("Windsor.ExtensionTests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("Windsor.ExtensionTests")] -[assembly: AssemblyCopyright("Copyright © 2017")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("270e36ae-62f3-4dc6-ab5a-aae7e2990e9e")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Source/Projects/Windsor.ExtensionTests/Registration/Decorator/DecorationRegistrationTests.cs b/Source/Projects/Windsor.ExtensionTests/Registration/Decorator/DecorationRegistrationTests.cs deleted file mode 100644 index a6e26b3..0000000 --- a/Source/Projects/Windsor.ExtensionTests/Registration/Decorator/DecorationRegistrationTests.cs +++ /dev/null @@ -1,99 +0,0 @@ -using System; -using Castle.MicroKernel.Registration; -using Castle.Windsor; -using Microsoft.VisualStudio.TestTools.UnitTesting; - -namespace Windsor.ExtensionTests.Registration.Decorator -{ - [TestClass] - public class DecorationRegistrationTests - { - IWindsorContainer container = new WindsorContainer(); - private ExecutionStack executionStack; - - [TestInitialize] - public void Initialize() - { - container = new WindsorContainer(); - container.Register(Component.For()); - executionStack = container.Resolve(); - } - - - [TestMethod] - public void Single_Component_Registration_For_NonGenericClass_With_One_Decorator_Should_Be_Successful() - { - container.Register( - Component - .For() - .ImplementedBy() - .Decorated().By() - ); - - TestCalculator(typeof(LogDecorator)); - } - - [TestMethod] - public void Single_Component_Registration_For_NonGenericClass_With_Multiple_Decorator_Should_Be_Successful() - { - container.Register( - Component - .For() - .ImplementedBy() - .Decorated().By() - .Decorated().By() - ); - - TestCalculator(typeof(ExceptionDecorator), typeof(LogDecorator)); - } - - [TestMethod] - public void Multi_Component_Registration_For_NonGenericClass_With_Single_Decorator_Should_Be_Successful() - { - container.Register( - Classes - .FromThisAssembly() - .BasedOn() - .WithService - .FromInterface() - .Decorated().By() - ); - - TestCalculator(typeof(ExceptionDecorator)); - TestCalculator(typeof(ExceptionDecorator)); - } - - [TestMethod] - public void Multi_Component_Registration_For_NonGenericClass_With_Multiple_Decorator_Should_Be_Successful() - { - container.Register( - Classes - .FromThisAssembly() - .BasedOn() - .WithService - .FromInterface() - .Decorated().By() - .Decorated().By() - ); - - TestCalculator(typeof(LogDecorator), typeof(ExceptionDecorator)); - TestCalculator(typeof(LogDecorator), typeof(ExceptionDecorator)); - } - - private void TestCalculator(params Type[] decoratorTypes) - where TCalculator: ICalculator - { - var calculator = container.Resolve(typeof(TCalculator).FullName); - Guid executionId = Guid.NewGuid(); - calculator.Sum(executionId, 1, 2); - - foreach (var decoratorType in decoratorTypes) - { - var instance = executionStack.PopInstance(executionId); - Assert.AreEqual(instance.GetType(), decoratorType); - } - - Assert.AreEqual(executionStack.PopInstance(executionId).GetType(), typeof(TCalculator)); - } - } -} \ No newline at end of file diff --git a/Source/Projects/Windsor.ExtensionTests/Windsor.ExtensionTests.csproj b/Source/Projects/Windsor.ExtensionTests/Windsor.ExtensionTests.csproj deleted file mode 100644 index d610e42..0000000 --- a/Source/Projects/Windsor.ExtensionTests/Windsor.ExtensionTests.csproj +++ /dev/null @@ -1,107 +0,0 @@ - - - - Debug - AnyCPU - {270E36AE-62F3-4DC6-AB5A-AAE7E2990E9E} - Library - Properties - Windsor.ExtensionTests - Windsor.ExtensionTests - v4.5 - 512 - {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - 10.0 - $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages - False - UnitTest - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - ..\..\packages\Castle.Core.3.3.0\lib\net45\Castle.Core.dll - True - - - ..\..\packages\Castle.Windsor.3.4.0\lib\net45\Castle.Windsor.dll - True - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {67A9FF4D-81FE-4D1A-9D6B-F1430ADC980B} - Windsor.Extension - - - - - - - - - - False - - - False - - - False - - - False - - - - - - - - \ No newline at end of file diff --git a/Source/Projects/Windsor.ExtensionTests/packages.config b/Source/Projects/Windsor.ExtensionTests/packages.config deleted file mode 100644 index 9809ce8..0000000 --- a/Source/Projects/Windsor.ExtensionTests/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/Source/Windsor.Extension.sln b/Source/Windsor.Extension.sln index 9afb9d3..ba5062f 100644 --- a/Source/Windsor.Extension.sln +++ b/Source/Windsor.Extension.sln @@ -1,18 +1,20 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.25420.1 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30717.126 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Windsor.Extension", "Projects\Windsor.Extension\Windsor.Extension.csproj", "{67A9FF4D-81FE-4D1A-9D6B-F1430ADC980B}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Windsor.Extension", "Projects\Windsor.Extension\Windsor.Extension.csproj", "{67A9FF4D-81FE-4D1A-9D6B-F1430ADC980B}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Projects", "Projects", "{4562F014-0602-4435-B7B1-6FA33558F2C8}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Demos", "Demos", "{B6B6FA27-938F-41A3-B27E-F71247670794}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Windsor.Extension.Demo", "Demos\Windsor.Extension.Demo\Windsor.Extension.Demo.csproj", "{44BD3352-0756-4471-9CAE-2E4DD8DB3AA1}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Windsor.Extension.Demo", "Demos\Windsor.Extension.Demo\Windsor.Extension.Demo.csproj", "{44BD3352-0756-4471-9CAE-2E4DD8DB3AA1}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{B0CD7838-AB35-4B7E-B9E2-EBAF2EFFD119}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Windsor.Extension.Tests", "Projects\Windsor.Extension.Tests\Windsor.Extension.Tests.csproj", "{F5582C78-ECDD-4083-AE19-7283B4F3E0A0}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -27,6 +29,10 @@ Global {44BD3352-0756-4471-9CAE-2E4DD8DB3AA1}.Debug|Any CPU.Build.0 = Debug|Any CPU {44BD3352-0756-4471-9CAE-2E4DD8DB3AA1}.Release|Any CPU.ActiveCfg = Release|Any CPU {44BD3352-0756-4471-9CAE-2E4DD8DB3AA1}.Release|Any CPU.Build.0 = Release|Any CPU + {F5582C78-ECDD-4083-AE19-7283B4F3E0A0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F5582C78-ECDD-4083-AE19-7283B4F3E0A0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F5582C78-ECDD-4083-AE19-7283B4F3E0A0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F5582C78-ECDD-4083-AE19-7283B4F3E0A0}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -34,5 +40,9 @@ Global GlobalSection(NestedProjects) = preSolution {67A9FF4D-81FE-4D1A-9D6B-F1430ADC980B} = {4562F014-0602-4435-B7B1-6FA33558F2C8} {44BD3352-0756-4471-9CAE-2E4DD8DB3AA1} = {B6B6FA27-938F-41A3-B27E-F71247670794} + {F5582C78-ECDD-4083-AE19-7283B4F3E0A0} = {B0CD7838-AB35-4B7E-B9E2-EBAF2EFFD119} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {5DFE5E68-16EF-4477-95FF-DE30682E0F13} EndGlobalSection EndGlobal