From 3dce0d8b1cd333bab74ebf52d5ca786d27af0aa0 Mon Sep 17 00:00:00 2001 From: Jeremy Meng Date: Mon, 23 Nov 2015 21:13:24 -0800 Subject: [PATCH 1/7] Add a modern PCL project that targets .Net 4.6, UWP 10, and Asp.Net 5. --- Ninject.sln | 28 +++- src/Ninject/Ninject-dotnet.csproj | 241 ++++++++++++++++++++++++++++++ src/Ninject/project.json | 16 ++ 3 files changed, 284 insertions(+), 1 deletion(-) create mode 100644 src/Ninject/Ninject-dotnet.csproj create mode 100644 src/Ninject/project.json diff --git a/Ninject.sln b/Ninject.sln index 4be9f438..584035f8 100644 --- a/Ninject.sln +++ b/Ninject.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 -VisualStudioVersion = 14.0.22823.1 +VisualStudioVersion = 14.0.23107.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{3E299B94-5F07-49DE-8226-55EDC56F13E3}" ProjectSection(SolutionItems) = preProject @@ -55,6 +55,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ninject.Android.Tests", "sr EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ninject.iOS-Unified", "src\Ninject\Ninject.iOS-Unified.csproj", "{420ACA2A-7853-4C5D-A3B1-E7AE938A801F}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ninject-dotnet", "src\Ninject\Ninject-dotnet.csproj", "{00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -424,6 +426,30 @@ Global {420ACA2A-7853-4C5D-A3B1-E7AE938A801F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {420ACA2A-7853-4C5D-A3B1-E7AE938A801F}.Release|Mixed Platforms.Build.0 = Release|Any CPU {420ACA2A-7853-4C5D-A3B1-E7AE938A801F}.Release|x86.ActiveCfg = Release|Any CPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Debug|ARM.ActiveCfg = Debug|Any CPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Debug|ARM.Build.0 = Debug|Any CPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Debug|iPhone.Build.0 = Debug|Any CPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Debug|x86.ActiveCfg = Debug|Any CPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Debug|x86.Build.0 = Debug|Any CPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Release|Any CPU.Build.0 = Release|Any CPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Release|ARM.ActiveCfg = Release|Any CPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Release|ARM.Build.0 = Release|Any CPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Release|iPhone.ActiveCfg = Release|Any CPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Release|iPhone.Build.0 = Release|Any CPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Release|x86.ActiveCfg = Release|Any CPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/Ninject/Ninject-dotnet.csproj b/src/Ninject/Ninject-dotnet.csproj new file mode 100644 index 00000000..ba83fe8a --- /dev/null +++ b/src/Ninject/Ninject-dotnet.csproj @@ -0,0 +1,241 @@ + + + + + 14.0 + Debug + AnyCPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A} + Library + Properties + Ninject + Ninject + en-US + 512 + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + + + v5.0 + + + true + full + false + bin\dotnet\Debug\ + TRACE;DEBUG;PCL + prompt + 4 + + + true + AllRules.ruleset + false + + + pdbonly + true + bin\dotnet\Release\ + TRACE;PCL + prompt + 4 + bin\dotnet\Release\Ninject.xml + true + + + true + + + ..\Ninject.snk + + + + Properties\SharedAssemblyInfo.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ninject.snk + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Ninject/project.json b/src/Ninject/project.json new file mode 100644 index 00000000..3d0dd322 --- /dev/null +++ b/src/Ninject/project.json @@ -0,0 +1,16 @@ +{ + "supports": { + "net46.app": {}, + "uwp.10.0.app": {}, + "dnxcore50.app": {} + }, + "dependencies": { + "Microsoft.NETCore": "5.0.0", + "Microsoft.NETCore.Portable.Compatibility": "1.0.0" + }, + "frameworks": { + "dotnet": { + "imports": "portable-net452+win81" + } + } +} \ No newline at end of file From 5749dd833daeecff5ae87c2f56fafc61dd784f5e Mon Sep 17 00:00:00 2001 From: Jeremy Meng Date: Mon, 23 Nov 2015 21:57:29 -0800 Subject: [PATCH 2/7] Fix warnings. --- .../Planning/Bindings/BindingConfigurationBuilder.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/Ninject/Planning/Bindings/BindingConfigurationBuilder.cs b/src/Ninject/Planning/Bindings/BindingConfigurationBuilder.cs index f4685aed..3b2719ff 100644 --- a/src/Ninject/Planning/Bindings/BindingConfigurationBuilder.cs +++ b/src/Ninject/Planning/Bindings/BindingConfigurationBuilder.cs @@ -525,6 +525,12 @@ public IBindingWithOrOnSyntax WithConstructorArgument(Type type, Func callback(context)); } + /// + /// Indicates that the specified constructor argument should be overridden with the specified value. + /// + /// Specifies the argument type to override. + /// The callback to invoke to get the value for the argument. + /// The fluent syntax. public IBindingWithOrOnSyntax WithConstructorArgument(Func callback) { return this.WithConstructorArgument(typeof(TValue), (context, target) => callback(context)); @@ -542,6 +548,12 @@ public IBindingWithOrOnSyntax WithConstructorArgument(Type type, Func + /// Indicates that the specified constructor argument should be overridden with the specified value. + /// + /// Specifies the argument type to override. + /// The callback to invoke to get the value for the argument. + /// The fluent syntax. public IBindingWithOrOnSyntax WithConstructorArgument(Func callback) { this.WithConstructorArgument(typeof (TValue), callback); From c6ee9246fd61482a4469c2ef7200f2a1b467d963 Mon Sep 17 00:00:00 2001 From: Jeremy Meng Date: Mon, 23 Nov 2015 22:39:44 -0800 Subject: [PATCH 3/7] Add dotnet group. --- Portable.Ninject.nuspec | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Portable.Ninject.nuspec b/Portable.Ninject.nuspec index 1c42923e..6101f53c 100644 --- a/Portable.Ninject.nuspec +++ b/Portable.Ninject.nuspec @@ -19,6 +19,22 @@ IoC container for .NET Xamarin support for iOS and Android Ninject ioc di portable pcl xamarin ios android monotouch monoandroid + + + + + + + + + + + + + + + + @@ -59,6 +75,10 @@ + + + + From 6bbe40b827f20311203778bec83a7c5da5f5cce3 Mon Sep 17 00:00:00 2001 From: Jeremy Meng Date: Mon, 23 Nov 2015 22:41:44 -0800 Subject: [PATCH 4/7] Move Ninject-dotnet proejct into a separate folder so its project don't affect other projects when VS 2015 UWP 10 tools is installed. --- Ninject.sln | 2 +- src/Ninject.dotnet/Ninject-dotnet.csproj | 241 +++++++++++++++++++ src/{Ninject => Ninject.dotnet}/project.json | 0 src/Ninject/Ninject-dotnet.csproj | 241 ------------------- 4 files changed, 242 insertions(+), 242 deletions(-) create mode 100644 src/Ninject.dotnet/Ninject-dotnet.csproj rename src/{Ninject => Ninject.dotnet}/project.json (100%) delete mode 100644 src/Ninject/Ninject-dotnet.csproj diff --git a/Ninject.sln b/Ninject.sln index 584035f8..a34acef9 100644 --- a/Ninject.sln +++ b/Ninject.sln @@ -55,7 +55,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ninject.Android.Tests", "sr EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ninject.iOS-Unified", "src\Ninject\Ninject.iOS-Unified.csproj", "{420ACA2A-7853-4C5D-A3B1-E7AE938A801F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ninject-dotnet", "src\Ninject\Ninject-dotnet.csproj", "{00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ninject-dotnet", "src\Ninject.dotnet\Ninject-dotnet.csproj", "{00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/src/Ninject.dotnet/Ninject-dotnet.csproj b/src/Ninject.dotnet/Ninject-dotnet.csproj new file mode 100644 index 00000000..4dcdecac --- /dev/null +++ b/src/Ninject.dotnet/Ninject-dotnet.csproj @@ -0,0 +1,241 @@ + + + + + 14.0 + Debug + AnyCPU + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A} + Library + Properties + Ninject + Ninject + en-US + 512 + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + + + v5.0 + + + true + full + false + ..\Ninject\bin\dotnet\Debug\ + TRACE;DEBUG;PCL + prompt + 4 + + + true + AllRules.ruleset + false + + + pdbonly + true + ..\Ninject\bin\dotnet\Release\ + TRACE;PCL + prompt + 4 + ..\Ninject\bin\dotnet\Release\Ninject.xml + true + + + true + + + ..\Ninject.snk + + + + Properties\SharedAssemblyInfo.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ninject.snk + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Ninject/project.json b/src/Ninject.dotnet/project.json similarity index 100% rename from src/Ninject/project.json rename to src/Ninject.dotnet/project.json diff --git a/src/Ninject/Ninject-dotnet.csproj b/src/Ninject/Ninject-dotnet.csproj deleted file mode 100644 index ba83fe8a..00000000 --- a/src/Ninject/Ninject-dotnet.csproj +++ /dev/null @@ -1,241 +0,0 @@ - - - - - 14.0 - Debug - AnyCPU - {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A} - Library - Properties - Ninject - Ninject - en-US - 512 - {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - - - v5.0 - - - true - full - false - bin\dotnet\Debug\ - TRACE;DEBUG;PCL - prompt - 4 - - - true - AllRules.ruleset - false - - - pdbonly - true - bin\dotnet\Release\ - TRACE;PCL - prompt - 4 - bin\dotnet\Release\Ninject.xml - true - - - true - - - ..\Ninject.snk - - - - Properties\SharedAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ninject.snk - - - - - - - - - - - - \ No newline at end of file From 531bb82a7fd5ef35b417adb43931cf8103f7c7b5 Mon Sep 17 00:00:00 2001 From: Jeremy Meng Date: Tue, 24 Nov 2015 18:30:59 -0800 Subject: [PATCH 5/7] Use NuSpec.ReferenceGenerator to managed 'dotnet' dependency group. --- .gitignore | 3 ++- Portable.Ninject.nuspec | 14 ++------------ src/Ninject.dotnet/Ninject-dotnet.csproj | 6 ++++++ src/Ninject.dotnet/project.json | 3 ++- 4 files changed, 12 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index 55f2a4e5..e8a52f8c 100644 --- a/.gitignore +++ b/.gitignore @@ -12,4 +12,5 @@ dist packages/ AppPackages .vs/ -TestResults/ \ No newline at end of file +TestResults/ +*.nuget.targets \ No newline at end of file diff --git a/Portable.Ninject.nuspec b/Portable.Ninject.nuspec index 6101f53c..87c36246 100644 --- a/Portable.Ninject.nuspec +++ b/Portable.Ninject.nuspec @@ -1,5 +1,4 @@  - Portable.Ninject @@ -37,49 +36,40 @@ - - - - - - + - - - + - - \ No newline at end of file diff --git a/src/Ninject.dotnet/Ninject-dotnet.csproj b/src/Ninject.dotnet/Ninject-dotnet.csproj index 4dcdecac..215732fc 100644 --- a/src/Ninject.dotnet/Ninject-dotnet.csproj +++ b/src/Ninject.dotnet/Ninject-dotnet.csproj @@ -17,6 +17,12 @@ v5.0 + + + + False + + true full diff --git a/src/Ninject.dotnet/project.json b/src/Ninject.dotnet/project.json index 3d0dd322..da7ce56b 100644 --- a/src/Ninject.dotnet/project.json +++ b/src/Ninject.dotnet/project.json @@ -6,7 +6,8 @@ }, "dependencies": { "Microsoft.NETCore": "5.0.0", - "Microsoft.NETCore.Portable.Compatibility": "1.0.0" + "Microsoft.NETCore.Portable.Compatibility": "1.0.0", + "NuSpec.ReferenceGenerator": "1.3.6" }, "frameworks": { "dotnet": { From 3248d8e39d20bfc150482970e7888d1e53e2d9f2 Mon Sep 17 00:00:00 2001 From: Jeremy Meng Date: Tue, 24 Nov 2015 22:51:25 -0800 Subject: [PATCH 6/7] Fix the dotnet project as it cannot be simply a copy of PCL project. Most of the changes are mimicing what WINRT project does. Add a dnx test project. It references the output of Ninject-dotnet project via a wrap project of "wrap\Ninject\project.json". 324 tests passed in VS, while 330 passed using "dnx test". However this moq based tests are disabled by NO_MOQ for now since the official Moq doesn't support CoreClr yet. --- Ninject.sln | 30 ++++++++++++ Portable.Ninject.nuspec | 6 +++ global.json | 5 ++ .../Integration/DefaultScopeCallbackTests.cs | 8 +-- .../WhenLoadIsCalledWithAssemblies.cs | 3 +- .../WhenLoadIsCalledWithFileName.cs | 2 +- .../Integration/ThreadScopeTests.cs | 2 +- .../Unit/AssemblyNameRetrieverTests.cs | 2 + .../Unit/CompiledModuleLoaderPluginTests.cs | 2 + src/Ninject.Test/Unit/ModuleLoaderTests.cs | 2 + .../Ninject.dotnet/Ninject.dotnet.Tests.xproj | 24 +++++++++ .../Ninject.dotnet/project.json | 29 +++++++++++ src/Ninject.dotnet/Ninject-dotnet.csproj | 9 ++-- src/Ninject.dotnet/project.json | 4 +- .../Caching/GarbageCollectionCachePruner.cs | 4 +- src/Ninject/Activation/InstanceReference.cs | 2 +- src/Ninject/GlobalKernelRegistration.cs | 28 +++++------ .../Introspection/FormatExtensions.cs | 16 +++--- .../ExtensionsForICustomAttributeProvider.cs | 4 +- .../Infrastructure/StandardScopeCallbacks.cs | 2 +- .../Injection/DynamicMethodInjectorFactory.cs | 4 +- src/Ninject/Modules/AssemblyNameRetriever.cs | 49 ++++++++++++++++--- .../Modules/CompiledModuleLoaderPlugin.cs | 4 +- src/Ninject/Modules/IAssemblyNameRetriever.cs | 2 +- src/Ninject/Modules/IModuleLoader.cs | 2 +- src/Ninject/Modules/IModuleLoaderPlugin.cs | 2 +- src/Ninject/Modules/ModuleLoader.cs | 10 ++-- .../Bindings/BindingConfigurationBuilder.cs | 2 +- src/Ninject/Planning/Planner.cs | 14 +++--- .../Planning/Targets/ParameterTarget.cs | 12 ++--- .../Planning/Targets/PropertyTarget.cs | 10 ++-- src/Ninject/Planning/Targets/Target.cs | 22 ++++----- src/Ninject/Syntax/BindingRoot.cs | 2 +- src/Ninject/Syntax/IBindingInSyntax.cs | 2 +- wrap/Ninject/project.json | 11 +++++ 35 files changed, 241 insertions(+), 91 deletions(-) create mode 100644 global.json create mode 100644 src/Ninject.dotnet.Tests/Ninject.dotnet/Ninject.dotnet.Tests.xproj create mode 100644 src/Ninject.dotnet.Tests/Ninject.dotnet/project.json create mode 100644 wrap/Ninject/project.json diff --git a/Ninject.sln b/Ninject.sln index a34acef9..791f7627 100644 --- a/Ninject.sln +++ b/Ninject.sln @@ -57,6 +57,11 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ninject.iOS-Unified", "src\ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ninject-dotnet", "src\Ninject.dotnet\Ninject-dotnet.csproj", "{00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}" EndProject +Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Ninject.dotnet.Tests", "src\Ninject.dotnet.Tests\Ninject.dotnet\Ninject.dotnet.Tests.xproj", "{F177D383-F30F-4E09-B5C8-034525582FA8}" + ProjectSection(ProjectDependencies) = postProject + {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A} = {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -450,6 +455,30 @@ Global {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Release|Mixed Platforms.Build.0 = Release|Any CPU {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Release|x86.ActiveCfg = Release|Any CPU {00A3D52F-BA8F-49A3-BDF8-FA457E866F3A}.Release|x86.Build.0 = Release|Any CPU + {F177D383-F30F-4E09-B5C8-034525582FA8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F177D383-F30F-4E09-B5C8-034525582FA8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F177D383-F30F-4E09-B5C8-034525582FA8}.Debug|ARM.ActiveCfg = Debug|Any CPU + {F177D383-F30F-4E09-B5C8-034525582FA8}.Debug|ARM.Build.0 = Debug|Any CPU + {F177D383-F30F-4E09-B5C8-034525582FA8}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {F177D383-F30F-4E09-B5C8-034525582FA8}.Debug|iPhone.Build.0 = Debug|Any CPU + {F177D383-F30F-4E09-B5C8-034525582FA8}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {F177D383-F30F-4E09-B5C8-034525582FA8}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {F177D383-F30F-4E09-B5C8-034525582FA8}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {F177D383-F30F-4E09-B5C8-034525582FA8}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {F177D383-F30F-4E09-B5C8-034525582FA8}.Debug|x86.ActiveCfg = Debug|Any CPU + {F177D383-F30F-4E09-B5C8-034525582FA8}.Debug|x86.Build.0 = Debug|Any CPU + {F177D383-F30F-4E09-B5C8-034525582FA8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F177D383-F30F-4E09-B5C8-034525582FA8}.Release|Any CPU.Build.0 = Release|Any CPU + {F177D383-F30F-4E09-B5C8-034525582FA8}.Release|ARM.ActiveCfg = Release|Any CPU + {F177D383-F30F-4E09-B5C8-034525582FA8}.Release|ARM.Build.0 = Release|Any CPU + {F177D383-F30F-4E09-B5C8-034525582FA8}.Release|iPhone.ActiveCfg = Release|Any CPU + {F177D383-F30F-4E09-B5C8-034525582FA8}.Release|iPhone.Build.0 = Release|Any CPU + {F177D383-F30F-4E09-B5C8-034525582FA8}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {F177D383-F30F-4E09-B5C8-034525582FA8}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {F177D383-F30F-4E09-B5C8-034525582FA8}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {F177D383-F30F-4E09-B5C8-034525582FA8}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {F177D383-F30F-4E09-B5C8-034525582FA8}.Release|x86.ActiveCfg = Release|Any CPU + {F177D383-F30F-4E09-B5C8-034525582FA8}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -467,5 +496,6 @@ Global {EE8989C3-2C73-4941-9F7E-5470344E9661} = {F1218241-9ED7-4DFA-9943-868AF26365CC} {09A7BE45-2A38-4087-87E5-FCC842D0742A} = {F1218241-9ED7-4DFA-9943-868AF26365CC} {87B049E5-878F-4694-9E83-D5A74C653039} = {F1218241-9ED7-4DFA-9943-868AF26365CC} + {F177D383-F30F-4E09-B5C8-034525582FA8} = {F1218241-9ED7-4DFA-9943-868AF26365CC} EndGlobalSection EndGlobal diff --git a/Portable.Ninject.nuspec b/Portable.Ninject.nuspec index 87c36246..723981ed 100644 --- a/Portable.Ninject.nuspec +++ b/Portable.Ninject.nuspec @@ -24,13 +24,19 @@ + + + + + + diff --git a/global.json b/global.json new file mode 100644 index 00000000..3eb265a4 --- /dev/null +++ b/global.json @@ -0,0 +1,5 @@ +{ + "projects": [ + "wrap" + ] +} \ No newline at end of file diff --git a/src/Ninject.Test/Integration/DefaultScopeCallbackTests.cs b/src/Ninject.Test/Integration/DefaultScopeCallbackTests.cs index af64fc66..9e5e3e07 100644 --- a/src/Ninject.Test/Integration/DefaultScopeCallbackTests.cs +++ b/src/Ninject.Test/Integration/DefaultScopeCallbackTests.cs @@ -60,7 +60,7 @@ public void CanOverrideDefaultScopeWithSingletonInBinding() binding.ScopeCallback.Should().BeSameAs(StandardScopeCallbacks.Singleton); } -#if !WINRT +#if !WINRT && !DOTNET [Fact] public void CanOverrideDefaultScopeWithThreadInBinding() { @@ -144,7 +144,7 @@ public void CanOverrideDefaultScopeWithTransientInBinding() var binding = kernel.GetBindings(typeof(IService)).FirstOrDefault(); binding.ScopeCallback.Should().BeSameAs(StandardScopeCallbacks.Transient); } -#if !WINRT +#if !WINRT && !DNXCORE50 [Fact] public void ScopeShouldBeThread() { @@ -158,7 +158,7 @@ public void ImplicitSelfBindedTypeShouldBeTransient() TestSelfBindedTypesAreTransient(); } -#if !WINRT +#if !WINRT && !DNXCORE50 [Fact] public void ExplicitSelfBindedTypeShouldHaveThreadScope() { @@ -172,7 +172,7 @@ protected override void InitializeKernel() { var settings = new NinjectSettings { -#if !WINRT +#if !WINRT && !DNXCORE50 DefaultScopeCallback = StandardScopeCallbacks.Thread #endif }; diff --git a/src/Ninject.Test/Integration/ModuleLoadingTests/WhenLoadIsCalledWithAssemblies.cs b/src/Ninject.Test/Integration/ModuleLoadingTests/WhenLoadIsCalledWithAssemblies.cs index c2ba5a7d..6686eedc 100644 --- a/src/Ninject.Test/Integration/ModuleLoadingTests/WhenLoadIsCalledWithAssemblies.cs +++ b/src/Ninject.Test/Integration/ModuleLoadingTests/WhenLoadIsCalledWithAssemblies.cs @@ -1,4 +1,4 @@ -#if !NO_ASSEMBLY_SCANNING && !NO_MOQ +#if !NO_ASSEMBLY_SCANNING && !NO_MOQ && !DOTNET namespace Ninject.Tests.Integration.ModuleLoadingTests { using System.Linq; @@ -13,6 +13,7 @@ public class WhenLoadIsCalledWithAssemblies : ModuleLoadingContext public void ModulesContainedInAssembliesAreLoaded() { var expectedModules = new[] { typeof(TestModule), typeof(TestModule2), typeof(OtherFakes.TestModule) }; + var assembly = Assembly.GetExecutingAssembly(); this.Kernel.Load(assembly); diff --git a/src/Ninject.Test/Integration/ModuleLoadingTests/WhenLoadIsCalledWithFileName.cs b/src/Ninject.Test/Integration/ModuleLoadingTests/WhenLoadIsCalledWithFileName.cs index 37961c66..f3a8f403 100644 --- a/src/Ninject.Test/Integration/ModuleLoadingTests/WhenLoadIsCalledWithFileName.cs +++ b/src/Ninject.Test/Integration/ModuleLoadingTests/WhenLoadIsCalledWithFileName.cs @@ -1,4 +1,4 @@ -#if !NO_ASSEMBLY_SCANNING && !NO_MOQ +#if !NO_ASSEMBLY_SCANNING && !NO_MOQ && !DOTNET namespace Ninject.Tests.Integration.ModuleLoadingTests { using System; diff --git a/src/Ninject.Test/Integration/ThreadScopeTests.cs b/src/Ninject.Test/Integration/ThreadScopeTests.cs index d7dcc68e..27622b75 100644 --- a/src/Ninject.Test/Integration/ThreadScopeTests.cs +++ b/src/Ninject.Test/Integration/ThreadScopeTests.cs @@ -1,4 +1,4 @@ -#if !WINRT +#if !WINRT && !DNXCORE50 namespace Ninject.Tests.Integration.ThreadScopeTests { using System; diff --git a/src/Ninject.Test/Unit/AssemblyNameRetrieverTests.cs b/src/Ninject.Test/Unit/AssemblyNameRetrieverTests.cs index 060a4269..e5119bd9 100644 --- a/src/Ninject.Test/Unit/AssemblyNameRetrieverTests.cs +++ b/src/Ninject.Test/Unit/AssemblyNameRetrieverTests.cs @@ -1,5 +1,6 @@ #if !NO_MOQ #if !NO_ASSEMBLY_SCANNING +#if !DOTNET namespace Ninject.Tests.Unit { using System; @@ -68,5 +69,6 @@ public void WillBeIgnored() } } } +#endif //!DOTNET #endif //!NO_ASSEMBLY_SCANNING #endif \ No newline at end of file diff --git a/src/Ninject.Test/Unit/CompiledModuleLoaderPluginTests.cs b/src/Ninject.Test/Unit/CompiledModuleLoaderPluginTests.cs index 27a30a5e..983b91be 100644 --- a/src/Ninject.Test/Unit/CompiledModuleLoaderPluginTests.cs +++ b/src/Ninject.Test/Unit/CompiledModuleLoaderPluginTests.cs @@ -1,5 +1,6 @@ #if !NO_MOQ #if !NO_ASSEMBLY_SCANNING +#if !DOTNET namespace Ninject.Tests.Unit.CompiledModuleLoaderPluginTests { using System; @@ -51,5 +52,6 @@ public void DoesNotLoadAssembliesWithoutModules() } } } +#endif //!DOTNET #endif //!NO_ASSEMBLY_SCANNING #endif \ No newline at end of file diff --git a/src/Ninject.Test/Unit/ModuleLoaderTests.cs b/src/Ninject.Test/Unit/ModuleLoaderTests.cs index 42d49ee0..6c9e2a45 100644 --- a/src/Ninject.Test/Unit/ModuleLoaderTests.cs +++ b/src/Ninject.Test/Unit/ModuleLoaderTests.cs @@ -36,6 +36,7 @@ public ModuleLoaderContext() } } +#if !DOTNET public class WhenLoadModulesIsCalled : ModuleLoaderContext { [Fact] @@ -50,6 +51,7 @@ public void PassesMatchingFilesToAppropriatePlugin() barPluginMock.Verify(x => x.LoadModules(It.Is>(e => e.SequenceEqual(barFiles)))); } } +#endif //!DOTNET } #endif //!NO_ASSEMBLY_SCANNING #endif \ No newline at end of file diff --git a/src/Ninject.dotnet.Tests/Ninject.dotnet/Ninject.dotnet.Tests.xproj b/src/Ninject.dotnet.Tests/Ninject.dotnet/Ninject.dotnet.Tests.xproj new file mode 100644 index 00000000..2a423586 --- /dev/null +++ b/src/Ninject.dotnet.Tests/Ninject.dotnet/Ninject.dotnet.Tests.xproj @@ -0,0 +1,24 @@ + + + + 14.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + + + + f177d383-f30f-4e09-b5c8-034525582fa8 + Ninject.dotnet + ..\..\..\artifacts\obj\$(MSBuildProjectName) + ..\..\..\artifacts\bin\$(MSBuildProjectName)\ + + + 2.0 + + + + + + + + + \ No newline at end of file diff --git a/src/Ninject.dotnet.Tests/Ninject.dotnet/project.json b/src/Ninject.dotnet.Tests/Ninject.dotnet/project.json new file mode 100644 index 00000000..cab7f096 --- /dev/null +++ b/src/Ninject.dotnet.Tests/Ninject.dotnet/project.json @@ -0,0 +1,29 @@ +{ + "version": "1.0.0-*", + "description": "Ninject dotnet Tests", + "compile": [ + "../../Ninject.Test/**/*.cs" + ], + + "dependencies": { + "xunit": "2.1.0", + "xunit.runner.dnx": "2.1.0-beta6-build191" + }, + + "commands": { + "test": "xunit.runner.dnx" + }, + + "frameworks": { + "dnxcore50": { + "compilationOptions": { + "define": [ "DOTNET" ] + }, + "dependencies": { + "FluentAssertions": "4.0.1", + "moq.netcore": "4.4.0-beta8", + "Ninject": "99.99.99-dev" + } + } + } +} \ No newline at end of file diff --git a/src/Ninject.dotnet/Ninject-dotnet.csproj b/src/Ninject.dotnet/Ninject-dotnet.csproj index 215732fc..764ca645 100644 --- a/src/Ninject.dotnet/Ninject-dotnet.csproj +++ b/src/Ninject.dotnet/Ninject-dotnet.csproj @@ -28,7 +28,7 @@ full false ..\Ninject\bin\dotnet\Debug\ - TRACE;DEBUG;PCL + TRACE;DEBUG;DOTNET prompt 4 @@ -41,7 +41,7 @@ pdbonly true ..\Ninject\bin\dotnet\Release\ - TRACE;PCL + TRACE;DOTNET prompt 4 ..\Ninject\bin\dotnet\Release\Ninject.xml @@ -117,6 +117,7 @@ + @@ -233,9 +234,7 @@ - - - +