diff --git a/IronPython.sln b/IronPython.sln
index 6a760c366..c0abf5cea 100644
--- a/IronPython.sln
+++ b/IronPython.sln
@@ -70,7 +70,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "nuget", "nuget", "{EE77D917
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPython.Console32", "src\executables\IronPython.Console32\IronPython.Console32.csproj", "{AD21022F-E7C1-4B74-97C1-0A0E48EFF992}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPython.Analyzer", "src\roslyn\IronPython.Analyzer\IronPython.Analyzer.csproj", "{DA3415F3-6922-42D0-93D7-BEE2E8603A18}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPython.Analyzer", "src\tooling\IronPython.Analyzer\IronPython.Analyzer.csproj", "{DA3415F3-6922-42D0-93D7-BEE2E8603A18}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "choco", "choco", "{EA550FD8-2241-4131-8292-619D009E0199}"
ProjectSection(SolutionItems) = preProject
@@ -105,6 +105,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "msi", "msi", "{450F93D5-DF0
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPython.Window32", "src\executables\IronPython.Window32\IronPython.Window32.csproj", "{8F177DC2-9822-45BD-AB05-1F40FCA86168}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IronPython.Sdk", "src\tooling\IronPython.Sdk\IronPython.Sdk.csproj", "{726D85B8-E98E-4F31-A081-B02035809A33}"
+EndProject
+Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "IronPython.Sdk.Sample", "tests\IronPython.Sdk.Sample\IronPython.Sdk.Sample.pyproj", "{C1E9ED5C-242E-4F90-8E69-7FDDE3C919BD}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -171,6 +175,12 @@ Global
{8F177DC2-9822-45BD-AB05-1F40FCA86168}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8F177DC2-9822-45BD-AB05-1F40FCA86168}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8F177DC2-9822-45BD-AB05-1F40FCA86168}.Release|Any CPU.Build.0 = Release|Any CPU
+ {726D85B8-E98E-4F31-A081-B02035809A33}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {726D85B8-E98E-4F31-A081-B02035809A33}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {726D85B8-E98E-4F31-A081-B02035809A33}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {726D85B8-E98E-4F31-A081-B02035809A33}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C1E9ED5C-242E-4F90-8E69-7FDDE3C919BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C1E9ED5C-242E-4F90-8E69-7FDDE3C919BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/src/roslyn/Directory.Build.props b/src/tooling/Directory.Build.props
similarity index 100%
rename from src/roslyn/Directory.Build.props
rename to src/tooling/Directory.Build.props
diff --git a/src/roslyn/IronPython.Analyzer/IronPython.Analyzer.csproj b/src/tooling/IronPython.Analyzer/IronPython.Analyzer.csproj
similarity index 100%
rename from src/roslyn/IronPython.Analyzer/IronPython.Analyzer.csproj
rename to src/tooling/IronPython.Analyzer/IronPython.Analyzer.csproj
diff --git a/src/roslyn/IronPython.Analyzer/IronPythonDiagnosticAnalyzer.cs b/src/tooling/IronPython.Analyzer/IronPythonDiagnosticAnalyzer.cs
similarity index 100%
rename from src/roslyn/IronPython.Analyzer/IronPythonDiagnosticAnalyzer.cs
rename to src/tooling/IronPython.Analyzer/IronPythonDiagnosticAnalyzer.cs
diff --git a/src/tooling/IronPython.Sdk/IronPython.Sdk.csproj b/src/tooling/IronPython.Sdk/IronPython.Sdk.csproj
new file mode 100644
index 000000000..bb25ec737
--- /dev/null
+++ b/src/tooling/IronPython.Sdk/IronPython.Sdk.csproj
@@ -0,0 +1,10 @@
+
+
+ net472;netstandard2.0
+ MSBuildSdk
+ true
+
+
+ true
+
+
\ No newline at end of file
diff --git a/src/tooling/IronPython.Sdk/Sdk/Debugging.props b/src/tooling/IronPython.Sdk/Sdk/Debugging.props
new file mode 100644
index 000000000..bcf8fd92d
--- /dev/null
+++ b/src/tooling/IronPython.Sdk/Sdk/Debugging.props
@@ -0,0 +1,13 @@
+
+
+ Debug
+
+
+ true
+ false
+
+
+ true
+ false
+
+
diff --git a/src/tooling/IronPython.Sdk/Sdk/FileIncludes.props b/src/tooling/IronPython.Sdk/Sdk/FileIncludes.props
new file mode 100644
index 000000000..b38ea9df8
--- /dev/null
+++ b/src/tooling/IronPython.Sdk/Sdk/FileIncludes.props
@@ -0,0 +1,15 @@
+
+
+
+ Program.py
+
+
+
+
diff --git a/src/tooling/IronPython.Sdk/Sdk/PythonEngine.props b/src/tooling/IronPython.Sdk/Sdk/PythonEngine.props
new file mode 100644
index 000000000..0ca7eff5b
--- /dev/null
+++ b/src/tooling/IronPython.Sdk/Sdk/PythonEngine.props
@@ -0,0 +1,11 @@
+
+
+ .
+
+
+ .
+ .
+ $(MSBuildProjectName)
+ $(Name)
+
+
diff --git a/src/tooling/IronPython.Sdk/Sdk/PythonTools.props b/src/tooling/IronPython.Sdk/Sdk/PythonTools.props
new file mode 100644
index 000000000..62d6ce3ac
--- /dev/null
+++ b/src/tooling/IronPython.Sdk/Sdk/PythonTools.props
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/tooling/IronPython.Sdk/Sdk/Sdk.props b/src/tooling/IronPython.Sdk/Sdk/Sdk.props
new file mode 100644
index 000000000..8ecc99793
--- /dev/null
+++ b/src/tooling/IronPython.Sdk/Sdk/Sdk.props
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+ 2.0
+ c1e9ed5c-242e-4f90-8e69-7fdde3c919bd
+
+
+
+
+
+
diff --git a/tests/IronPython.Sdk.Sample/IronPython.Sdk.Sample.pyproj b/tests/IronPython.Sdk.Sample/IronPython.Sdk.Sample.pyproj
new file mode 100644
index 000000000..9d161458f
--- /dev/null
+++ b/tests/IronPython.Sdk.Sample/IronPython.Sdk.Sample.pyproj
@@ -0,0 +1,11 @@
+
+
+ IronPython
+ 3.4
+ Global|IronPython|3.4
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/IronPython.Sdk.Sample/Program.py b/tests/IronPython.Sdk.Sample/Program.py
new file mode 100644
index 000000000..7df869a15
--- /dev/null
+++ b/tests/IronPython.Sdk.Sample/Program.py
@@ -0,0 +1 @@
+print("Hello, World!")