diff --git a/Microsoft.Azure.Functions.V2.DI.sln b/Microsoft.Azure.Functions.V2.DI.sln
index c389dbe..260a5c9 100644
--- a/Microsoft.Azure.Functions.V2.DI.sln
+++ b/Microsoft.Azure.Functions.V2.DI.sln
@@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27703.2000
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.Functions.V2.DI", "Microsoft.Azure.Functions.V2.DI\Microsoft.Azure.Functions.V2.DI.csproj", "{A3F2C0FF-CA52-48EF-BEDD-F3BB088A0E63}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.Functions.V2.DI", "src\Microsoft.Azure.Functions.V2.DI\Microsoft.Azure.Functions.V2.DI.csproj", "{A3F2C0FF-CA52-48EF-BEDD-F3BB088A0E63}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{C804529E-A674-46A6-BE65-71D5D155CC1B}"
ProjectSection(SolutionItems) = preProject
@@ -11,9 +11,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
README.md = README.md
EndProjectSection
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.Functions.V2.DI.Testing.Service", "Microsoft.Azure.Functions.V2.DI.Testing.Service\Microsoft.Azure.Functions.V2.DI.Testing.Service.csproj", "{7AFE5ABE-9E41-41D7-98B0-AC02D9AB71CB}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.Functions.V2.DI.Testing.Service", "tests\Microsoft.Azure.Functions.V2.DI.Testing.Service\Microsoft.Azure.Functions.V2.DI.Testing.Service.csproj", "{7AFE5ABE-9E41-41D7-98B0-AC02D9AB71CB}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.Functions.V2.DI.Testing", "Microsoft.Azure.Functions.V2.DI.Testing\Microsoft.Azure.Functions.V2.DI.Testing.csproj", "{70EA0FA4-89B9-4E2C-AA57-DCD9A9250563}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.Functions.V2.DI.Testing", "tests\Microsoft.Azure.Functions.V2.DI.Testing\Microsoft.Azure.Functions.V2.DI.Testing.csproj", "{70EA0FA4-89B9-4E2C-AA57-DCD9A9250563}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{AAC8DCA4-9937-4E4C-B42D-438C3D40C726}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{BF0AF0FD-26B9-4438-98A8-998F3021B94F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -37,6 +41,11 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {A3F2C0FF-CA52-48EF-BEDD-F3BB088A0E63} = {AAC8DCA4-9937-4E4C-B42D-438C3D40C726}
+ {7AFE5ABE-9E41-41D7-98B0-AC02D9AB71CB} = {BF0AF0FD-26B9-4438-98A8-998F3021B94F}
+ {70EA0FA4-89B9-4E2C-AA57-DCD9A9250563} = {BF0AF0FD-26B9-4438-98A8-998F3021B94F}
+ EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C4376482-E91C-402C-B035-0403CE7576B1}
EndGlobalSection
diff --git a/Microsoft.Azure.Functions.V2.DI/Exceptions/MicrosoftAzureFunctionsDependencyInjectionException.cs b/src/Microsoft.Azure.Functions.V2.DI/Exceptions/MicrosoftAzureFunctionsDependencyInjectionException.cs
similarity index 100%
rename from Microsoft.Azure.Functions.V2.DI/Exceptions/MicrosoftAzureFunctionsDependencyInjectionException.cs
rename to src/Microsoft.Azure.Functions.V2.DI/Exceptions/MicrosoftAzureFunctionsDependencyInjectionException.cs
diff --git a/Microsoft.Azure.Functions.V2.DI/Extensions/WebJobsBuilderExtensions.NetStandard2.0.cs b/src/Microsoft.Azure.Functions.V2.DI/Extensions/WebJobsBuilderExtensions.NetStandard2.0.cs
similarity index 100%
rename from Microsoft.Azure.Functions.V2.DI/Extensions/WebJobsBuilderExtensions.NetStandard2.0.cs
rename to src/Microsoft.Azure.Functions.V2.DI/Extensions/WebJobsBuilderExtensions.NetStandard2.0.cs
diff --git a/Microsoft.Azure.Functions.V2.DI/Filters/ScopeCleanupFilter.cs b/src/Microsoft.Azure.Functions.V2.DI/Filters/ScopeCleanupFilter.cs
similarity index 100%
rename from Microsoft.Azure.Functions.V2.DI/Filters/ScopeCleanupFilter.cs
rename to src/Microsoft.Azure.Functions.V2.DI/Filters/ScopeCleanupFilter.cs
diff --git a/Microsoft.Azure.Functions.V2.DI/FunctionExtensions/InjectExtension/InjectAttribute.cs b/src/Microsoft.Azure.Functions.V2.DI/FunctionExtensions/InjectExtension/InjectAttribute.cs
similarity index 100%
rename from Microsoft.Azure.Functions.V2.DI/FunctionExtensions/InjectExtension/InjectAttribute.cs
rename to src/Microsoft.Azure.Functions.V2.DI/FunctionExtensions/InjectExtension/InjectAttribute.cs
diff --git a/Microsoft.Azure.Functions.V2.DI/FunctionExtensions/InjectExtension/InjectBinding.NetStandard2.0.cs b/src/Microsoft.Azure.Functions.V2.DI/FunctionExtensions/InjectExtension/InjectBinding.NetStandard2.0.cs
similarity index 100%
rename from Microsoft.Azure.Functions.V2.DI/FunctionExtensions/InjectExtension/InjectBinding.NetStandard2.0.cs
rename to src/Microsoft.Azure.Functions.V2.DI/FunctionExtensions/InjectExtension/InjectBinding.NetStandard2.0.cs
diff --git a/Microsoft.Azure.Functions.V2.DI/FunctionExtensions/InjectExtension/InjectBinding.cs b/src/Microsoft.Azure.Functions.V2.DI/FunctionExtensions/InjectExtension/InjectBinding.cs
similarity index 100%
rename from Microsoft.Azure.Functions.V2.DI/FunctionExtensions/InjectExtension/InjectBinding.cs
rename to src/Microsoft.Azure.Functions.V2.DI/FunctionExtensions/InjectExtension/InjectBinding.cs
diff --git a/Microsoft.Azure.Functions.V2.DI/FunctionExtensions/InjectExtension/InjectBindingProvider.NetStandard2.0.cs b/src/Microsoft.Azure.Functions.V2.DI/FunctionExtensions/InjectExtension/InjectBindingProvider.NetStandard2.0.cs
similarity index 100%
rename from Microsoft.Azure.Functions.V2.DI/FunctionExtensions/InjectExtension/InjectBindingProvider.NetStandard2.0.cs
rename to src/Microsoft.Azure.Functions.V2.DI/FunctionExtensions/InjectExtension/InjectBindingProvider.NetStandard2.0.cs
diff --git a/Microsoft.Azure.Functions.V2.DI/FunctionExtensions/InjectExtension/InjectConfiguration.NetStandard2.0.cs b/src/Microsoft.Azure.Functions.V2.DI/FunctionExtensions/InjectExtension/InjectConfiguration.NetStandard2.0.cs
similarity index 100%
rename from Microsoft.Azure.Functions.V2.DI/FunctionExtensions/InjectExtension/InjectConfiguration.NetStandard2.0.cs
rename to src/Microsoft.Azure.Functions.V2.DI/FunctionExtensions/InjectExtension/InjectConfiguration.NetStandard2.0.cs
diff --git a/Microsoft.Azure.Functions.V2.DI/Implementations/FunctionsContextResolver.cs b/src/Microsoft.Azure.Functions.V2.DI/Implementations/FunctionsContextResolver.cs
similarity index 100%
rename from Microsoft.Azure.Functions.V2.DI/Implementations/FunctionsContextResolver.cs
rename to src/Microsoft.Azure.Functions.V2.DI/Implementations/FunctionsContextResolver.cs
diff --git a/Microsoft.Azure.Functions.V2.DI/Implementations/MockResolver.cs b/src/Microsoft.Azure.Functions.V2.DI/Implementations/MockResolver.cs
similarity index 100%
rename from Microsoft.Azure.Functions.V2.DI/Implementations/MockResolver.cs
rename to src/Microsoft.Azure.Functions.V2.DI/Implementations/MockResolver.cs
diff --git a/Microsoft.Azure.Functions.V2.DI/Interfaces/IFunctionsContextResolver.cs b/src/Microsoft.Azure.Functions.V2.DI/Interfaces/IFunctionsContextResolver.cs
similarity index 100%
rename from Microsoft.Azure.Functions.V2.DI/Interfaces/IFunctionsContextResolver.cs
rename to src/Microsoft.Azure.Functions.V2.DI/Interfaces/IFunctionsContextResolver.cs
diff --git a/Microsoft.Azure.Functions.V2.DI/Interfaces/IMockResolver.cs b/src/Microsoft.Azure.Functions.V2.DI/Interfaces/IMockResolver.cs
similarity index 100%
rename from Microsoft.Azure.Functions.V2.DI/Interfaces/IMockResolver.cs
rename to src/Microsoft.Azure.Functions.V2.DI/Interfaces/IMockResolver.cs
diff --git a/Microsoft.Azure.Functions.V2.DI/Microsoft.Azure.Functions.V2.DI.csproj b/src/Microsoft.Azure.Functions.V2.DI/Microsoft.Azure.Functions.V2.DI.csproj
similarity index 100%
rename from Microsoft.Azure.Functions.V2.DI/Microsoft.Azure.Functions.V2.DI.csproj
rename to src/Microsoft.Azure.Functions.V2.DI/Microsoft.Azure.Functions.V2.DI.csproj
diff --git a/Microsoft.Azure.Functions.V2.DI/Models/FunctionContext.cs b/src/Microsoft.Azure.Functions.V2.DI/Models/FunctionContext.cs
similarity index 100%
rename from Microsoft.Azure.Functions.V2.DI/Models/FunctionContext.cs
rename to src/Microsoft.Azure.Functions.V2.DI/Models/FunctionContext.cs
diff --git a/Microsoft.Azure.Functions.V2.DI/Models/FunctionRequest.cs b/src/Microsoft.Azure.Functions.V2.DI/Models/FunctionRequest.cs
similarity index 100%
rename from Microsoft.Azure.Functions.V2.DI/Models/FunctionRequest.cs
rename to src/Microsoft.Azure.Functions.V2.DI/Models/FunctionRequest.cs
diff --git a/Microsoft.Azure.Functions.V2.DI.Testing.Service/ITestService.cs b/tests/Microsoft.Azure.Functions.V2.DI.Testing.Service/ITestService.cs
similarity index 100%
rename from Microsoft.Azure.Functions.V2.DI.Testing.Service/ITestService.cs
rename to tests/Microsoft.Azure.Functions.V2.DI.Testing.Service/ITestService.cs
diff --git a/Microsoft.Azure.Functions.V2.DI.Testing.Service/ITestServiceSingleInstance.cs b/tests/Microsoft.Azure.Functions.V2.DI.Testing.Service/ITestServiceSingleInstance.cs
similarity index 100%
rename from Microsoft.Azure.Functions.V2.DI.Testing.Service/ITestServiceSingleInstance.cs
rename to tests/Microsoft.Azure.Functions.V2.DI.Testing.Service/ITestServiceSingleInstance.cs
diff --git a/Microsoft.Azure.Functions.V2.DI.Testing.Service/Microsoft.Azure.Functions.V2.DI.Testing.Service.csproj b/tests/Microsoft.Azure.Functions.V2.DI.Testing.Service/Microsoft.Azure.Functions.V2.DI.Testing.Service.csproj
similarity index 63%
rename from Microsoft.Azure.Functions.V2.DI.Testing.Service/Microsoft.Azure.Functions.V2.DI.Testing.Service.csproj
rename to tests/Microsoft.Azure.Functions.V2.DI.Testing.Service/Microsoft.Azure.Functions.V2.DI.Testing.Service.csproj
index c630dd6..cbedfe8 100644
--- a/Microsoft.Azure.Functions.V2.DI.Testing.Service/Microsoft.Azure.Functions.V2.DI.Testing.Service.csproj
+++ b/tests/Microsoft.Azure.Functions.V2.DI.Testing.Service/Microsoft.Azure.Functions.V2.DI.Testing.Service.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/Microsoft.Azure.Functions.V2.DI.Testing.Service/TestService.cs b/tests/Microsoft.Azure.Functions.V2.DI.Testing.Service/TestService.cs
similarity index 100%
rename from Microsoft.Azure.Functions.V2.DI.Testing.Service/TestService.cs
rename to tests/Microsoft.Azure.Functions.V2.DI.Testing.Service/TestService.cs
diff --git a/Microsoft.Azure.Functions.V2.DI.Testing.Service/TestServiceSingleInstance.cs b/tests/Microsoft.Azure.Functions.V2.DI.Testing.Service/TestServiceSingleInstance.cs
similarity index 100%
rename from Microsoft.Azure.Functions.V2.DI.Testing.Service/TestServiceSingleInstance.cs
rename to tests/Microsoft.Azure.Functions.V2.DI.Testing.Service/TestServiceSingleInstance.cs
diff --git a/Microsoft.Azure.Functions.V2.DI.Testing/AzureFunctions/AzureFunctionV2.cs b/tests/Microsoft.Azure.Functions.V2.DI.Testing/AzureFunctions/AzureFunctionV2.cs
similarity index 100%
rename from Microsoft.Azure.Functions.V2.DI.Testing/AzureFunctions/AzureFunctionV2.cs
rename to tests/Microsoft.Azure.Functions.V2.DI.Testing/AzureFunctions/AzureFunctionV2.cs
diff --git a/Microsoft.Azure.Functions.V2.DI.Testing/Microsoft.Azure.Functions.V2.DI.Testing.csproj b/tests/Microsoft.Azure.Functions.V2.DI.Testing/Microsoft.Azure.Functions.V2.DI.Testing.csproj
similarity index 87%
rename from Microsoft.Azure.Functions.V2.DI.Testing/Microsoft.Azure.Functions.V2.DI.Testing.csproj
rename to tests/Microsoft.Azure.Functions.V2.DI.Testing/Microsoft.Azure.Functions.V2.DI.Testing.csproj
index 48d0a29..013848f 100644
--- a/Microsoft.Azure.Functions.V2.DI.Testing/Microsoft.Azure.Functions.V2.DI.Testing.csproj
+++ b/tests/Microsoft.Azure.Functions.V2.DI.Testing/Microsoft.Azure.Functions.V2.DI.Testing.csproj
@@ -8,7 +8,6 @@
-
diff --git a/Microsoft.Azure.Functions.V2.DI.Testing/Others/Startup.cs b/tests/Microsoft.Azure.Functions.V2.DI.Testing/Others/Startup.cs
similarity index 100%
rename from Microsoft.Azure.Functions.V2.DI.Testing/Others/Startup.cs
rename to tests/Microsoft.Azure.Functions.V2.DI.Testing/Others/Startup.cs
diff --git a/Microsoft.Azure.Functions.V2.DI.Testing/host.json b/tests/Microsoft.Azure.Functions.V2.DI.Testing/host.json
similarity index 100%
rename from Microsoft.Azure.Functions.V2.DI.Testing/host.json
rename to tests/Microsoft.Azure.Functions.V2.DI.Testing/host.json
diff --git a/Microsoft.Azure.Functions.V2.DI.Testing/local.settings.json b/tests/Microsoft.Azure.Functions.V2.DI.Testing/local.settings.json
similarity index 100%
rename from Microsoft.Azure.Functions.V2.DI.Testing/local.settings.json
rename to tests/Microsoft.Azure.Functions.V2.DI.Testing/local.settings.json