diff --git a/pythonnet.15.sln b/pythonnet.15.sln
deleted file mode 100644
index f2015e480..000000000
--- a/pythonnet.15.sln
+++ /dev/null
@@ -1,194 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.26730.3
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Python.Runtime.15", "src/runtime/Python.Runtime.15.csproj", "{2759F4FF-716B-4828-916F-50FA86613DFC}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Python.EmbeddingTest.15", "src/embed_tests/Python.EmbeddingTest.15.csproj", "{66B8D01A-9906-452A-B09E-BF75EA76468F}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "clrmodule.15", "src/clrmodule/clrmodule.15.csproj", "{E08678D4-9A52-4AD5-B63D-8EBC7399981B}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Console.15", "src/console/Console.15.csproj", "{CDAD305F-8E72-492C-A314-64CF58D472A0}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Python.Test.15", "src/testing/Python.Test.15.csproj", "{F94B547A-E97E-4500-8D53-B4D64D076E5F}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- DebugMono|x64 = DebugMono|x64
- DebugMono|x86 = DebugMono|x86
- DebugMonoPY3|x64 = DebugMonoPY3|x64
- DebugMonoPY3|x86 = DebugMonoPY3|x86
- DebugWin|x64 = DebugWin|x64
- DebugWin|x86 = DebugWin|x86
- DebugWinPY3|x64 = DebugWinPY3|x64
- DebugWinPY3|x86 = DebugWinPY3|x86
- ReleaseMono|x64 = ReleaseMono|x64
- ReleaseMono|x86 = ReleaseMono|x86
- ReleaseMonoPY3|x64 = ReleaseMonoPY3|x64
- ReleaseMonoPY3|x86 = ReleaseMonoPY3|x86
- ReleaseWin|x64 = ReleaseWin|x64
- ReleaseWin|x86 = ReleaseWin|x86
- ReleaseWinPY3|x64 = ReleaseWinPY3|x64
- ReleaseWinPY3|x86 = ReleaseWinPY3|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {2759F4FF-716B-4828-916F-50FA86613DFC}.DebugMono|x64.ActiveCfg = DebugMono|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.DebugMono|x64.Build.0 = DebugMono|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.DebugMono|x86.ActiveCfg = DebugMono|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.DebugMono|x86.Build.0 = DebugMono|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.DebugMonoPY3|x64.ActiveCfg = DebugMonoPY3|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.DebugMonoPY3|x64.Build.0 = DebugMonoPY3|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.DebugMonoPY3|x86.ActiveCfg = DebugMonoPY3|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.DebugMonoPY3|x86.Build.0 = DebugMonoPY3|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.DebugWin|x64.ActiveCfg = DebugWin|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.DebugWin|x64.Build.0 = DebugWin|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.DebugWin|x86.ActiveCfg = DebugWin|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.DebugWin|x86.Build.0 = DebugWin|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.DebugWinPY3|x64.ActiveCfg = DebugWinPY3|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.DebugWinPY3|x64.Build.0 = DebugWinPY3|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.DebugWinPY3|x86.ActiveCfg = DebugWinPY3|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.DebugWinPY3|x86.Build.0 = DebugWinPY3|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.ReleaseMono|x64.ActiveCfg = ReleaseMono|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.ReleaseMono|x64.Build.0 = ReleaseMono|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.ReleaseMono|x86.ActiveCfg = ReleaseMono|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.ReleaseMono|x86.Build.0 = ReleaseMono|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.ReleaseMonoPY3|x64.ActiveCfg = ReleaseMonoPY3|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.ReleaseMonoPY3|x64.Build.0 = ReleaseMonoPY3|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.ReleaseMonoPY3|x86.ActiveCfg = ReleaseMonoPY3|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.ReleaseMonoPY3|x86.Build.0 = ReleaseMonoPY3|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.ReleaseWin|x64.ActiveCfg = ReleaseWin|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.ReleaseWin|x64.Build.0 = ReleaseWin|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.ReleaseWin|x86.ActiveCfg = ReleaseWin|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.ReleaseWin|x86.Build.0 = ReleaseWin|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.ReleaseWinPY3|x64.ActiveCfg = ReleaseWinPY3|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.ReleaseWinPY3|x64.Build.0 = ReleaseWinPY3|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.ReleaseWinPY3|x86.ActiveCfg = ReleaseWinPY3|Any CPU
- {2759F4FF-716B-4828-916F-50FA86613DFC}.ReleaseWinPY3|x86.Build.0 = ReleaseWinPY3|Any CPU
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.DebugMono|x64.ActiveCfg = DebugMono|x64
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.DebugMono|x64.Build.0 = DebugMono|x64
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.DebugMono|x86.ActiveCfg = DebugMono|x86
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.DebugMono|x86.Build.0 = DebugMono|x86
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.DebugMonoPY3|x64.ActiveCfg = DebugMonoPY3|x64
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.DebugMonoPY3|x64.Build.0 = DebugMonoPY3|x64
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.DebugMonoPY3|x86.ActiveCfg = DebugMonoPY3|x86
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.DebugMonoPY3|x86.Build.0 = DebugMonoPY3|x86
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.DebugWin|x64.ActiveCfg = DebugWin|x64
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.DebugWin|x64.Build.0 = DebugWin|x64
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.DebugWin|x86.ActiveCfg = DebugWin|x86
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.DebugWin|x86.Build.0 = DebugWin|x86
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.DebugWinPY3|x64.ActiveCfg = DebugWinPY3|x64
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.DebugWinPY3|x64.Build.0 = DebugWinPY3|x64
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.DebugWinPY3|x86.ActiveCfg = DebugWinPY3|x86
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.DebugWinPY3|x86.Build.0 = DebugWinPY3|x86
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.ReleaseMono|x64.Build.0 = ReleaseMono|x64
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.ReleaseMono|x86.Build.0 = ReleaseMono|x86
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.ReleaseMonoPY3|x64.ActiveCfg = ReleaseMonoPY3|x64
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.ReleaseMonoPY3|x64.Build.0 = ReleaseMonoPY3|x64
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.ReleaseMonoPY3|x86.ActiveCfg = ReleaseMonoPY3|x86
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.ReleaseMonoPY3|x86.Build.0 = ReleaseMonoPY3|x86
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.ReleaseWin|x64.ActiveCfg = ReleaseWin|x64
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.ReleaseWin|x64.Build.0 = ReleaseWin|x64
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.ReleaseWin|x86.ActiveCfg = ReleaseWin|x86
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.ReleaseWin|x86.Build.0 = ReleaseWin|x86
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.ReleaseWinPY3|x64.ActiveCfg = ReleaseWinPY3|x64
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.ReleaseWinPY3|x64.Build.0 = ReleaseWinPY3|x64
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.ReleaseWinPY3|x86.ActiveCfg = ReleaseWinPY3|x86
- {66B8D01A-9906-452A-B09E-BF75EA76468F}.ReleaseWinPY3|x86.Build.0 = ReleaseWinPY3|x86
- {E08678D4-9A52-4AD5-B63D-8EBC7399981B}.DebugMono|x64.ActiveCfg = DebugMono|x64
- {E08678D4-9A52-4AD5-B63D-8EBC7399981B}.DebugMono|x86.ActiveCfg = DebugMono|x86
- {E08678D4-9A52-4AD5-B63D-8EBC7399981B}.DebugMonoPY3|x64.ActiveCfg = DebugMonoPY3|x64
- {E08678D4-9A52-4AD5-B63D-8EBC7399981B}.DebugMonoPY3|x86.ActiveCfg = DebugMonoPY3|x86
- {E08678D4-9A52-4AD5-B63D-8EBC7399981B}.DebugWin|x64.ActiveCfg = DebugWin|x64
- {E08678D4-9A52-4AD5-B63D-8EBC7399981B}.DebugWin|x64.Build.0 = DebugWin|x64
- {E08678D4-9A52-4AD5-B63D-8EBC7399981B}.DebugWin|x86.ActiveCfg = DebugWin|x86
- {E08678D4-9A52-4AD5-B63D-8EBC7399981B}.DebugWin|x86.Build.0 = DebugWin|x86
- {E08678D4-9A52-4AD5-B63D-8EBC7399981B}.DebugWinPY3|x64.ActiveCfg = DebugWinPY3|x64
- {E08678D4-9A52-4AD5-B63D-8EBC7399981B}.DebugWinPY3|x64.Build.0 = DebugWinPY3|x64
- {E08678D4-9A52-4AD5-B63D-8EBC7399981B}.DebugWinPY3|x86.ActiveCfg = DebugWinPY3|x86
- {E08678D4-9A52-4AD5-B63D-8EBC7399981B}.DebugWinPY3|x86.Build.0 = DebugWinPY3|x86
- {E08678D4-9A52-4AD5-B63D-8EBC7399981B}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64
- {E08678D4-9A52-4AD5-B63D-8EBC7399981B}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86
- {E08678D4-9A52-4AD5-B63D-8EBC7399981B}.ReleaseMonoPY3|x64.ActiveCfg = ReleaseMonoPY3|x64
- {E08678D4-9A52-4AD5-B63D-8EBC7399981B}.ReleaseMonoPY3|x86.ActiveCfg = ReleaseMonoPY3|x86
- {E08678D4-9A52-4AD5-B63D-8EBC7399981B}.ReleaseWin|x64.ActiveCfg = ReleaseWin|x64
- {E08678D4-9A52-4AD5-B63D-8EBC7399981B}.ReleaseWin|x64.Build.0 = ReleaseWin|x64
- {E08678D4-9A52-4AD5-B63D-8EBC7399981B}.ReleaseWin|x86.ActiveCfg = ReleaseWin|x86
- {E08678D4-9A52-4AD5-B63D-8EBC7399981B}.ReleaseWin|x86.Build.0 = ReleaseWin|x86
- {E08678D4-9A52-4AD5-B63D-8EBC7399981B}.ReleaseWinPY3|x64.ActiveCfg = ReleaseWinPY3|x64
- {E08678D4-9A52-4AD5-B63D-8EBC7399981B}.ReleaseWinPY3|x64.Build.0 = ReleaseWinPY3|x64
- {E08678D4-9A52-4AD5-B63D-8EBC7399981B}.ReleaseWinPY3|x86.ActiveCfg = ReleaseWinPY3|x86
- {E08678D4-9A52-4AD5-B63D-8EBC7399981B}.ReleaseWinPY3|x86.Build.0 = ReleaseWinPY3|x86
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.DebugMono|x64.ActiveCfg = DebugMono|x64
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.DebugMono|x64.Build.0 = DebugMono|x64
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.DebugMono|x86.ActiveCfg = DebugMono|x86
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.DebugMono|x86.Build.0 = DebugMono|x86
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.DebugMonoPY3|x64.ActiveCfg = DebugMonoPY3|x64
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.DebugMonoPY3|x64.Build.0 = DebugMonoPY3|x64
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.DebugMonoPY3|x86.ActiveCfg = DebugMonoPY3|x86
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.DebugMonoPY3|x86.Build.0 = DebugMonoPY3|x86
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.DebugWin|x64.ActiveCfg = DebugWin|x64
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.DebugWin|x64.Build.0 = DebugWin|x64
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.DebugWin|x86.ActiveCfg = DebugWin|x86
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.DebugWin|x86.Build.0 = DebugWin|x86
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.DebugWinPY3|x64.ActiveCfg = DebugWinPY3|x64
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.DebugWinPY3|x64.Build.0 = DebugWinPY3|x64
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.DebugWinPY3|x86.ActiveCfg = DebugWinPY3|x86
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.DebugWinPY3|x86.Build.0 = DebugWinPY3|x86
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.ReleaseMono|x64.Build.0 = ReleaseMono|x64
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.ReleaseMono|x86.Build.0 = ReleaseMono|x86
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.ReleaseMonoPY3|x64.ActiveCfg = ReleaseMonoPY3|x64
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.ReleaseMonoPY3|x64.Build.0 = ReleaseMonoPY3|x64
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.ReleaseMonoPY3|x86.ActiveCfg = ReleaseMonoPY3|x86
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.ReleaseMonoPY3|x86.Build.0 = ReleaseMonoPY3|x86
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.ReleaseWin|x64.ActiveCfg = ReleaseWin|x64
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.ReleaseWin|x64.Build.0 = ReleaseWin|x64
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.ReleaseWin|x86.ActiveCfg = ReleaseWin|x86
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.ReleaseWin|x86.Build.0 = ReleaseWin|x86
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.ReleaseWinPY3|x64.ActiveCfg = ReleaseWinPY3|x64
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.ReleaseWinPY3|x64.Build.0 = ReleaseWinPY3|x64
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.ReleaseWinPY3|x86.ActiveCfg = ReleaseWinPY3|x86
- {CDAD305F-8E72-492C-A314-64CF58D472A0}.ReleaseWinPY3|x86.Build.0 = ReleaseWinPY3|x86
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.DebugMono|x64.ActiveCfg = DebugMono|x64
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.DebugMono|x64.Build.0 = DebugMono|x64
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.DebugMono|x86.ActiveCfg = DebugMono|x86
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.DebugMono|x86.Build.0 = DebugMono|x86
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.DebugMonoPY3|x64.ActiveCfg = DebugMonoPY3|x64
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.DebugMonoPY3|x64.Build.0 = DebugMonoPY3|x64
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.DebugMonoPY3|x86.ActiveCfg = DebugMonoPY3|x86
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.DebugMonoPY3|x86.Build.0 = DebugMonoPY3|x86
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.DebugWin|x64.ActiveCfg = DebugWin|x64
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.DebugWin|x64.Build.0 = DebugWin|x64
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.DebugWin|x86.ActiveCfg = DebugWin|x86
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.DebugWin|x86.Build.0 = DebugWin|x86
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.DebugWinPY3|x64.ActiveCfg = DebugWinPY3|x64
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.DebugWinPY3|x64.Build.0 = DebugWinPY3|x64
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.DebugWinPY3|x86.ActiveCfg = DebugWinPY3|x86
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.DebugWinPY3|x86.Build.0 = DebugWinPY3|x86
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.ReleaseMono|x64.Build.0 = ReleaseMono|x64
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.ReleaseMono|x86.Build.0 = ReleaseMono|x86
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.ReleaseMonoPY3|x64.ActiveCfg = ReleaseMonoPY3|x64
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.ReleaseMonoPY3|x64.Build.0 = ReleaseMonoPY3|x64
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.ReleaseMonoPY3|x86.ActiveCfg = ReleaseMonoPY3|x86
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.ReleaseMonoPY3|x86.Build.0 = ReleaseMonoPY3|x86
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.ReleaseWin|x64.ActiveCfg = ReleaseWin|x64
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.ReleaseWin|x64.Build.0 = ReleaseWin|x64
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.ReleaseWin|x86.ActiveCfg = ReleaseWin|x86
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.ReleaseWin|x86.Build.0 = ReleaseWin|x86
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.ReleaseWinPY3|x64.ActiveCfg = ReleaseWinPY3|x64
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.ReleaseWinPY3|x64.Build.0 = ReleaseWinPY3|x64
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.ReleaseWinPY3|x86.ActiveCfg = ReleaseWinPY3|x86
- {F94B547A-E97E-4500-8D53-B4D64D076E5F}.ReleaseWinPY3|x86.Build.0 = ReleaseWinPY3|x86
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {A6347B90-BBE6-4E45-90BF-1BD8B76069E3}
- EndGlobalSection
-EndGlobal
diff --git a/pythonnet.sln b/pythonnet.sln
index c5afd66c3..7f8185d25 100644
--- a/pythonnet.sln
+++ b/pythonnet.sln
@@ -1,202 +1,367 @@
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 14
-VisualStudioVersion = 14.0.25420.1
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Runtime", "src\runtime\Python.Runtime.csproj", "{097B4AC0-74E9-4C58-BCF8-C69746EC8271}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Test", "src\testing\Python.Test.csproj", "{6F401A34-273B-450F-9A4C-13550BE0767B}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.EmbeddingTest", "src\embed_tests\Python.EmbeddingTest.csproj", "{4165C59D-2822-499F-A6DB-EACA4C331EB5}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Console", "src\console\Console.csproj", "{E29DCF0A-5114-4A98-B1DD-71264B6EA349}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "clrmodule", "src\clrmodule\clrmodule.csproj", "{86E834DE-1139-4511-96CC-69636A56E7AC}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- DebugMono|x64 = DebugMono|x64
- DebugMono|x86 = DebugMono|x86
- DebugMonoPY3|x64 = DebugMonoPY3|x64
- DebugMonoPY3|x86 = DebugMonoPY3|x86
- DebugWin|x64 = DebugWin|x64
- DebugWin|x86 = DebugWin|x86
- DebugWinPY3|x64 = DebugWinPY3|x64
- DebugWinPY3|x86 = DebugWinPY3|x86
- ReleaseMono|x64 = ReleaseMono|x64
- ReleaseMono|x86 = ReleaseMono|x86
- ReleaseMonoPY3|x64 = ReleaseMonoPY3|x64
- ReleaseMonoPY3|x86 = ReleaseMonoPY3|x86
- ReleaseWin|x64 = ReleaseWin|x64
- ReleaseWin|x86 = ReleaseWin|x86
- ReleaseWinPY3|x64 = ReleaseWinPY3|x64
- ReleaseWinPY3|x86 = ReleaseWinPY3|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMono|x64.ActiveCfg = DebugMono|x64
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMono|x64.Build.0 = DebugMono|x64
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMono|x86.ActiveCfg = DebugMono|x86
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMono|x86.Build.0 = DebugMono|x86
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMonoPY3|x64.ActiveCfg = DebugMonoPY3|x64
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMonoPY3|x64.Build.0 = DebugMonoPY3|x64
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMonoPY3|x86.ActiveCfg = DebugMonoPY3|x86
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMonoPY3|x86.Build.0 = DebugMonoPY3|x86
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWin|x64.ActiveCfg = DebugWin|x64
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWin|x64.Build.0 = DebugWin|x64
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWin|x86.ActiveCfg = DebugWin|x86
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWin|x86.Build.0 = DebugWin|x86
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWinPY3|x64.ActiveCfg = DebugWinPY3|x64
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWinPY3|x64.Build.0 = DebugWinPY3|x64
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWinPY3|x86.ActiveCfg = DebugWinPY3|x86
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWinPY3|x86.Build.0 = DebugWinPY3|x86
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMono|x64.Build.0 = ReleaseMono|x64
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMono|x86.Build.0 = ReleaseMono|x86
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMonoPY3|x64.ActiveCfg = ReleaseMonoPY3|x64
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMonoPY3|x64.Build.0 = ReleaseMonoPY3|x64
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMonoPY3|x86.ActiveCfg = ReleaseMonoPY3|x86
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMonoPY3|x86.Build.0 = ReleaseMonoPY3|x86
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWin|x64.ActiveCfg = ReleaseWin|x64
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWin|x64.Build.0 = ReleaseWin|x64
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWin|x86.ActiveCfg = ReleaseWin|x86
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWin|x86.Build.0 = ReleaseWin|x86
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWinPY3|x64.ActiveCfg = ReleaseWinPY3|x64
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWinPY3|x64.Build.0 = ReleaseWinPY3|x64
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWinPY3|x86.ActiveCfg = ReleaseWinPY3|x86
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWinPY3|x86.Build.0 = ReleaseWinPY3|x86
- {6F401A34-273B-450F-9A4C-13550BE0767B}.DebugMono|x64.ActiveCfg = DebugMono|x64
- {6F401A34-273B-450F-9A4C-13550BE0767B}.DebugMono|x64.Build.0 = DebugMono|x64
- {6F401A34-273B-450F-9A4C-13550BE0767B}.DebugMono|x86.ActiveCfg = DebugMono|x86
- {6F401A34-273B-450F-9A4C-13550BE0767B}.DebugMono|x86.Build.0 = DebugMono|x86
- {6F401A34-273B-450F-9A4C-13550BE0767B}.DebugMonoPY3|x64.ActiveCfg = DebugMonoPY3|x64
- {6F401A34-273B-450F-9A4C-13550BE0767B}.DebugMonoPY3|x64.Build.0 = DebugMonoPY3|x64
- {6F401A34-273B-450F-9A4C-13550BE0767B}.DebugMonoPY3|x86.ActiveCfg = DebugMonoPY3|x86
- {6F401A34-273B-450F-9A4C-13550BE0767B}.DebugMonoPY3|x86.Build.0 = DebugMonoPY3|x86
- {6F401A34-273B-450F-9A4C-13550BE0767B}.DebugWin|x64.ActiveCfg = DebugWin|x64
- {6F401A34-273B-450F-9A4C-13550BE0767B}.DebugWin|x64.Build.0 = DebugWin|x64
- {6F401A34-273B-450F-9A4C-13550BE0767B}.DebugWin|x86.ActiveCfg = DebugWin|x86
- {6F401A34-273B-450F-9A4C-13550BE0767B}.DebugWin|x86.Build.0 = DebugWin|x86
- {6F401A34-273B-450F-9A4C-13550BE0767B}.DebugWinPY3|x64.ActiveCfg = DebugWinPY3|x64
- {6F401A34-273B-450F-9A4C-13550BE0767B}.DebugWinPY3|x64.Build.0 = DebugWinPY3|x64
- {6F401A34-273B-450F-9A4C-13550BE0767B}.DebugWinPY3|x86.ActiveCfg = DebugWinPY3|x86
- {6F401A34-273B-450F-9A4C-13550BE0767B}.DebugWinPY3|x86.Build.0 = DebugWinPY3|x86
- {6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64
- {6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseMono|x64.Build.0 = ReleaseMono|x64
- {6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86
- {6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseMono|x86.Build.0 = ReleaseMono|x86
- {6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseMonoPY3|x64.ActiveCfg = ReleaseMonoPY3|x64
- {6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseMonoPY3|x64.Build.0 = ReleaseMonoPY3|x64
- {6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseMonoPY3|x86.ActiveCfg = ReleaseMonoPY3|x86
- {6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseMonoPY3|x86.Build.0 = ReleaseMonoPY3|x86
- {6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseWin|x64.ActiveCfg = ReleaseWin|x64
- {6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseWin|x64.Build.0 = ReleaseWin|x64
- {6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseWin|x86.ActiveCfg = ReleaseWin|x86
- {6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseWin|x86.Build.0 = ReleaseWin|x86
- {6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseWinPY3|x64.ActiveCfg = ReleaseWinPY3|x64
- {6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseWinPY3|x64.Build.0 = ReleaseWinPY3|x64
- {6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseWinPY3|x86.ActiveCfg = ReleaseWinPY3|x86
- {6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseWinPY3|x86.Build.0 = ReleaseWinPY3|x86
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMono|x64.ActiveCfg = DebugMono|x64
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMono|x64.Build.0 = DebugMono|x64
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMono|x86.ActiveCfg = DebugMono|x86
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMono|x86.Build.0 = DebugMono|x86
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMonoPY3|x64.ActiveCfg = DebugMonoPY3|x64
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMonoPY3|x64.Build.0 = DebugMonoPY3|x64
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMonoPY3|x86.ActiveCfg = DebugMonoPY3|x86
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMonoPY3|x86.Build.0 = DebugMonoPY3|x86
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWin|x64.ActiveCfg = DebugWin|x64
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWin|x64.Build.0 = DebugWin|x64
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWin|x86.ActiveCfg = DebugWin|x86
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWin|x86.Build.0 = DebugWin|x86
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWinPY3|x64.ActiveCfg = DebugWinPY3|x64
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWinPY3|x64.Build.0 = DebugWinPY3|x64
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWinPY3|x86.ActiveCfg = DebugWinPY3|x86
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWinPY3|x86.Build.0 = DebugWinPY3|x86
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMono|x64.Build.0 = ReleaseMono|x64
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMono|x86.Build.0 = ReleaseMono|x86
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMonoPY3|x64.ActiveCfg = ReleaseMonoPY3|x64
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMonoPY3|x64.Build.0 = ReleaseMonoPY3|x64
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMonoPY3|x86.ActiveCfg = ReleaseMonoPY3|x86
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMonoPY3|x86.Build.0 = ReleaseMonoPY3|x86
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWin|x64.ActiveCfg = ReleaseWin|x64
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWin|x64.Build.0 = ReleaseWin|x64
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWin|x86.ActiveCfg = ReleaseWin|x86
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWin|x86.Build.0 = ReleaseWin|x86
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWinPY3|x64.ActiveCfg = ReleaseWinPY3|x64
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWinPY3|x64.Build.0 = ReleaseWinPY3|x64
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWinPY3|x86.ActiveCfg = ReleaseWinPY3|x86
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWinPY3|x86.Build.0 = ReleaseWinPY3|x86
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugMono|x64.ActiveCfg = DebugMono|x64
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugMono|x64.Build.0 = DebugMono|x64
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugMono|x86.ActiveCfg = DebugMono|x86
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugMono|x86.Build.0 = DebugMono|x86
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugMonoPY3|x64.ActiveCfg = DebugMonoPY3|x64
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugMonoPY3|x64.Build.0 = DebugMonoPY3|x64
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugMonoPY3|x86.ActiveCfg = DebugMonoPY3|x86
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugMonoPY3|x86.Build.0 = DebugMonoPY3|x86
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugWin|x64.ActiveCfg = DebugWin|x64
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugWin|x64.Build.0 = DebugWin|x64
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugWin|x86.ActiveCfg = DebugWin|x86
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugWin|x86.Build.0 = DebugWin|x86
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugWinPY3|x64.ActiveCfg = DebugWinPY3|x64
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugWinPY3|x64.Build.0 = DebugWinPY3|x64
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugWinPY3|x86.ActiveCfg = DebugWinPY3|x86
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugWinPY3|x86.Build.0 = DebugWinPY3|x86
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseMono|x64.Build.0 = ReleaseMono|x64
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseMono|x86.Build.0 = ReleaseMono|x86
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseMonoPY3|x64.ActiveCfg = ReleaseMonoPY3|x64
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseMonoPY3|x64.Build.0 = ReleaseMonoPY3|x64
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseMonoPY3|x86.ActiveCfg = ReleaseMonoPY3|x86
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseMonoPY3|x86.Build.0 = ReleaseMonoPY3|x86
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseWin|x64.ActiveCfg = ReleaseWin|x64
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseWin|x64.Build.0 = ReleaseWin|x64
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseWin|x86.ActiveCfg = ReleaseWin|x86
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseWin|x86.Build.0 = ReleaseWin|x86
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseWinPY3|x64.ActiveCfg = ReleaseWinPY3|x64
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseWinPY3|x64.Build.0 = ReleaseWinPY3|x64
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseWinPY3|x86.ActiveCfg = ReleaseWinPY3|x86
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseWinPY3|x86.Build.0 = ReleaseWinPY3|x86
- {86E834DE-1139-4511-96CC-69636A56E7AC}.DebugMono|x64.ActiveCfg = DebugMono|x64
- {86E834DE-1139-4511-96CC-69636A56E7AC}.DebugMono|x86.ActiveCfg = DebugMono|x86
- {86E834DE-1139-4511-96CC-69636A56E7AC}.DebugMonoPY3|x64.ActiveCfg = DebugMonoPY3|x64
- {86E834DE-1139-4511-96CC-69636A56E7AC}.DebugMonoPY3|x86.ActiveCfg = DebugMonoPY3|x86
- {86E834DE-1139-4511-96CC-69636A56E7AC}.DebugWin|x64.ActiveCfg = DebugWin|x64
- {86E834DE-1139-4511-96CC-69636A56E7AC}.DebugWin|x64.Build.0 = DebugWin|x64
- {86E834DE-1139-4511-96CC-69636A56E7AC}.DebugWin|x86.ActiveCfg = DebugWin|x86
- {86E834DE-1139-4511-96CC-69636A56E7AC}.DebugWin|x86.Build.0 = DebugWin|x86
- {86E834DE-1139-4511-96CC-69636A56E7AC}.DebugWinPY3|x64.ActiveCfg = DebugWinPY3|x64
- {86E834DE-1139-4511-96CC-69636A56E7AC}.DebugWinPY3|x64.Build.0 = DebugWinPY3|x64
- {86E834DE-1139-4511-96CC-69636A56E7AC}.DebugWinPY3|x86.ActiveCfg = DebugWinPY3|x86
- {86E834DE-1139-4511-96CC-69636A56E7AC}.DebugWinPY3|x86.Build.0 = DebugWinPY3|x86
- {86E834DE-1139-4511-96CC-69636A56E7AC}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64
- {86E834DE-1139-4511-96CC-69636A56E7AC}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86
- {86E834DE-1139-4511-96CC-69636A56E7AC}.ReleaseMonoPY3|x64.ActiveCfg = ReleaseMonoPY3|x64
- {86E834DE-1139-4511-96CC-69636A56E7AC}.ReleaseMonoPY3|x86.ActiveCfg = ReleaseMonoPY3|x86
- {86E834DE-1139-4511-96CC-69636A56E7AC}.ReleaseWin|x64.ActiveCfg = ReleaseWin|x64
- {86E834DE-1139-4511-96CC-69636A56E7AC}.ReleaseWin|x64.Build.0 = ReleaseWin|x64
- {86E834DE-1139-4511-96CC-69636A56E7AC}.ReleaseWin|x86.ActiveCfg = ReleaseWin|x86
- {86E834DE-1139-4511-96CC-69636A56E7AC}.ReleaseWin|x86.Build.0 = ReleaseWin|x86
- {86E834DE-1139-4511-96CC-69636A56E7AC}.ReleaseWinPY3|x64.ActiveCfg = ReleaseWinPY3|x64
- {86E834DE-1139-4511-96CC-69636A56E7AC}.ReleaseWinPY3|x64.Build.0 = ReleaseWinPY3|x64
- {86E834DE-1139-4511-96CC-69636A56E7AC}.ReleaseWinPY3|x86.ActiveCfg = ReleaseWinPY3|x86
- {86E834DE-1139-4511-96CC-69636A56E7AC}.ReleaseWinPY3|x86.Build.0 = ReleaseWinPY3|x86
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(MonoDevelopProperties) = preSolution
- StartupItem = src\console\Console.csproj
- Policies = $0
- $0.VersionControlPolicy = $1
- $1.inheritsSet = Mono
- $0.ChangeLogPolicy = $2
- $2.UpdateMode = None
- $2.MessageStyle = $3
- $3.LineAlign = 0
- $2.inheritsSet = Mono
- EndGlobalSection
-EndGlobal
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.28917.181
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Python.Runtime", "src\runtime\Python.Runtime.csproj", "{097B4AC0-74E9-4C58-BCF8-C69746EC8271}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Python.EmbeddingTest", "src\embed_tests\Python.EmbeddingTest.csproj", "{4165C59D-2822-499F-A6DB-EACA4C331EB5}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Console", "src\console\Console.csproj", "{6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Python.Test", "src\testing\Python.Test.csproj", "{BA04A0A4-706F-4469-BE07-2E9F3E6141DD}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "clrmodule", "src\clrmodule\clrmodule.csproj", "{39FC5D2C-EFD3-487D-9B9C-6F5464F27764}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ DebugMono|Any CPU = DebugMono|Any CPU
+ DebugMono|x64 = DebugMono|x64
+ DebugMono|x86 = DebugMono|x86
+ DebugMonoPY3|Any CPU = DebugMonoPY3|Any CPU
+ DebugMonoPY3|x64 = DebugMonoPY3|x64
+ DebugMonoPY3|x86 = DebugMonoPY3|x86
+ DebugWin|Any CPU = DebugWin|Any CPU
+ DebugWin|x64 = DebugWin|x64
+ DebugWin|x86 = DebugWin|x86
+ DebugWinPY3|Any CPU = DebugWinPY3|Any CPU
+ DebugWinPY3|x64 = DebugWinPY3|x64
+ DebugWinPY3|x86 = DebugWinPY3|x86
+ Release|Any CPU = Release|Any CPU
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ ReleaseMono|Any CPU = ReleaseMono|Any CPU
+ ReleaseMono|x64 = ReleaseMono|x64
+ ReleaseMono|x86 = ReleaseMono|x86
+ ReleaseMonoPY3|Any CPU = ReleaseMonoPY3|Any CPU
+ ReleaseMonoPY3|x64 = ReleaseMonoPY3|x64
+ ReleaseMonoPY3|x86 = ReleaseMonoPY3|x86
+ ReleaseWin|Any CPU = ReleaseWin|Any CPU
+ ReleaseWin|x64 = ReleaseWin|x64
+ ReleaseWin|x86 = ReleaseWin|x86
+ ReleaseWinPY3|Any CPU = ReleaseWinPY3|Any CPU
+ ReleaseWinPY3|x64 = ReleaseWinPY3|x64
+ ReleaseWinPY3|x86 = ReleaseWinPY3|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.Debug|x64.Build.0 = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.Debug|x86.Build.0 = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMono|Any CPU.Build.0 = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMono|x64.ActiveCfg = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMono|x64.Build.0 = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMono|x86.ActiveCfg = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMono|x86.Build.0 = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMonoPY3|Any CPU.ActiveCfg = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMonoPY3|Any CPU.Build.0 = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMonoPY3|x64.ActiveCfg = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMonoPY3|x64.Build.0 = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMonoPY3|x86.ActiveCfg = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMonoPY3|x86.Build.0 = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWin|Any CPU.ActiveCfg = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWin|Any CPU.Build.0 = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWin|x64.ActiveCfg = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWin|x64.Build.0 = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWin|x86.ActiveCfg = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWin|x86.Build.0 = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWinPY3|Any CPU.ActiveCfg = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWinPY3|Any CPU.Build.0 = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWinPY3|x64.ActiveCfg = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWinPY3|x64.Build.0 = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWinPY3|x86.ActiveCfg = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWinPY3|x86.Build.0 = Debug|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.Release|Any CPU.Build.0 = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.Release|x64.ActiveCfg = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.Release|x64.Build.0 = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.Release|x86.ActiveCfg = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.Release|x86.Build.0 = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMono|x64.ActiveCfg = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMono|x64.Build.0 = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMono|x86.ActiveCfg = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMono|x86.Build.0 = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMonoPY3|Any CPU.ActiveCfg = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMonoPY3|Any CPU.Build.0 = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMonoPY3|x64.ActiveCfg = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMonoPY3|x64.Build.0 = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMonoPY3|x86.ActiveCfg = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMonoPY3|x86.Build.0 = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWin|Any CPU.ActiveCfg = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWin|Any CPU.Build.0 = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWin|x64.ActiveCfg = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWin|x64.Build.0 = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWin|x86.ActiveCfg = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWin|x86.Build.0 = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWinPY3|Any CPU.ActiveCfg = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWinPY3|Any CPU.Build.0 = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWinPY3|x64.ActiveCfg = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWinPY3|x64.Build.0 = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWinPY3|x86.ActiveCfg = Release|Any CPU
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWinPY3|x86.Build.0 = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.Debug|x64.Build.0 = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.Debug|x86.Build.0 = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMono|Any CPU.Build.0 = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMono|x64.ActiveCfg = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMono|x64.Build.0 = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMono|x86.ActiveCfg = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMono|x86.Build.0 = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMonoPY3|Any CPU.ActiveCfg = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMonoPY3|Any CPU.Build.0 = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMonoPY3|x64.ActiveCfg = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMonoPY3|x64.Build.0 = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMonoPY3|x86.ActiveCfg = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMonoPY3|x86.Build.0 = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWin|Any CPU.ActiveCfg = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWin|Any CPU.Build.0 = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWin|x64.ActiveCfg = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWin|x64.Build.0 = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWin|x86.ActiveCfg = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWin|x86.Build.0 = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWinPY3|Any CPU.ActiveCfg = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWinPY3|Any CPU.Build.0 = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWinPY3|x64.ActiveCfg = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWinPY3|x64.Build.0 = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWinPY3|x86.ActiveCfg = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWinPY3|x86.Build.0 = Debug|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.Release|x64.ActiveCfg = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.Release|x64.Build.0 = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.Release|x86.ActiveCfg = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.Release|x86.Build.0 = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMono|x64.ActiveCfg = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMono|x64.Build.0 = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMono|x86.ActiveCfg = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMono|x86.Build.0 = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMonoPY3|Any CPU.ActiveCfg = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMonoPY3|Any CPU.Build.0 = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMonoPY3|x64.ActiveCfg = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMonoPY3|x64.Build.0 = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMonoPY3|x86.ActiveCfg = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMonoPY3|x86.Build.0 = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWin|Any CPU.ActiveCfg = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWin|Any CPU.Build.0 = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWin|x64.ActiveCfg = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWin|x64.Build.0 = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWin|x86.ActiveCfg = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWin|x86.Build.0 = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWinPY3|Any CPU.ActiveCfg = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWinPY3|Any CPU.Build.0 = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWinPY3|x64.ActiveCfg = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWinPY3|x64.Build.0 = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWinPY3|x86.ActiveCfg = Release|Any CPU
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWinPY3|x86.Build.0 = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.Debug|x64.Build.0 = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.Debug|x86.Build.0 = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.DebugMono|Any CPU.Build.0 = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.DebugMono|x64.ActiveCfg = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.DebugMono|x64.Build.0 = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.DebugMono|x86.ActiveCfg = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.DebugMono|x86.Build.0 = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.DebugMonoPY3|Any CPU.ActiveCfg = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.DebugMonoPY3|Any CPU.Build.0 = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.DebugMonoPY3|x64.ActiveCfg = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.DebugMonoPY3|x64.Build.0 = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.DebugMonoPY3|x86.ActiveCfg = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.DebugMonoPY3|x86.Build.0 = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.DebugWin|Any CPU.ActiveCfg = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.DebugWin|Any CPU.Build.0 = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.DebugWin|x64.ActiveCfg = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.DebugWin|x64.Build.0 = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.DebugWin|x86.ActiveCfg = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.DebugWin|x86.Build.0 = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.DebugWinPY3|Any CPU.ActiveCfg = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.DebugWinPY3|Any CPU.Build.0 = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.DebugWinPY3|x64.ActiveCfg = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.DebugWinPY3|x64.Build.0 = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.DebugWinPY3|x86.ActiveCfg = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.DebugWinPY3|x86.Build.0 = Debug|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.Release|x64.ActiveCfg = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.Release|x64.Build.0 = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.Release|x86.ActiveCfg = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.Release|x86.Build.0 = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.ReleaseMono|x64.ActiveCfg = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.ReleaseMono|x64.Build.0 = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.ReleaseMono|x86.ActiveCfg = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.ReleaseMono|x86.Build.0 = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.ReleaseMonoPY3|Any CPU.ActiveCfg = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.ReleaseMonoPY3|Any CPU.Build.0 = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.ReleaseMonoPY3|x64.ActiveCfg = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.ReleaseMonoPY3|x64.Build.0 = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.ReleaseMonoPY3|x86.ActiveCfg = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.ReleaseMonoPY3|x86.Build.0 = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.ReleaseWin|Any CPU.ActiveCfg = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.ReleaseWin|Any CPU.Build.0 = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.ReleaseWin|x64.ActiveCfg = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.ReleaseWin|x64.Build.0 = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.ReleaseWin|x86.ActiveCfg = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.ReleaseWin|x86.Build.0 = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.ReleaseWinPY3|Any CPU.ActiveCfg = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.ReleaseWinPY3|Any CPU.Build.0 = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.ReleaseWinPY3|x64.ActiveCfg = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.ReleaseWinPY3|x64.Build.0 = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.ReleaseWinPY3|x86.ActiveCfg = Release|Any CPU
+ {6C429F44-22EB-4FDB-9DD9-EA55B0497E7D}.ReleaseWinPY3|x86.Build.0 = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.Debug|x64.Build.0 = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.Debug|x86.Build.0 = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.DebugMono|Any CPU.Build.0 = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.DebugMono|x64.ActiveCfg = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.DebugMono|x64.Build.0 = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.DebugMono|x86.ActiveCfg = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.DebugMono|x86.Build.0 = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.DebugMonoPY3|Any CPU.ActiveCfg = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.DebugMonoPY3|Any CPU.Build.0 = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.DebugMonoPY3|x64.ActiveCfg = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.DebugMonoPY3|x64.Build.0 = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.DebugMonoPY3|x86.ActiveCfg = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.DebugMonoPY3|x86.Build.0 = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.DebugWin|Any CPU.ActiveCfg = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.DebugWin|Any CPU.Build.0 = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.DebugWin|x64.ActiveCfg = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.DebugWin|x64.Build.0 = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.DebugWin|x86.ActiveCfg = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.DebugWin|x86.Build.0 = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.DebugWinPY3|Any CPU.ActiveCfg = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.DebugWinPY3|Any CPU.Build.0 = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.DebugWinPY3|x64.ActiveCfg = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.DebugWinPY3|x64.Build.0 = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.DebugWinPY3|x86.ActiveCfg = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.DebugWinPY3|x86.Build.0 = Debug|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.Release|x64.ActiveCfg = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.Release|x64.Build.0 = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.Release|x86.ActiveCfg = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.Release|x86.Build.0 = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.ReleaseMono|x64.ActiveCfg = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.ReleaseMono|x64.Build.0 = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.ReleaseMono|x86.ActiveCfg = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.ReleaseMono|x86.Build.0 = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.ReleaseMonoPY3|Any CPU.ActiveCfg = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.ReleaseMonoPY3|Any CPU.Build.0 = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.ReleaseMonoPY3|x64.ActiveCfg = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.ReleaseMonoPY3|x64.Build.0 = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.ReleaseMonoPY3|x86.ActiveCfg = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.ReleaseMonoPY3|x86.Build.0 = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.ReleaseWin|Any CPU.ActiveCfg = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.ReleaseWin|Any CPU.Build.0 = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.ReleaseWin|x64.ActiveCfg = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.ReleaseWin|x64.Build.0 = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.ReleaseWin|x86.ActiveCfg = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.ReleaseWin|x86.Build.0 = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.ReleaseWinPY3|Any CPU.ActiveCfg = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.ReleaseWinPY3|Any CPU.Build.0 = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.ReleaseWinPY3|x64.ActiveCfg = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.ReleaseWinPY3|x64.Build.0 = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.ReleaseWinPY3|x86.ActiveCfg = Release|Any CPU
+ {BA04A0A4-706F-4469-BE07-2E9F3E6141DD}.ReleaseWinPY3|x86.Build.0 = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.Debug|x64.Build.0 = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.Debug|x86.Build.0 = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.DebugMono|Any CPU.Build.0 = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.DebugMono|x64.ActiveCfg = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.DebugMono|x64.Build.0 = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.DebugMono|x86.ActiveCfg = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.DebugMono|x86.Build.0 = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.DebugMonoPY3|Any CPU.ActiveCfg = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.DebugMonoPY3|Any CPU.Build.0 = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.DebugMonoPY3|x64.ActiveCfg = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.DebugMonoPY3|x64.Build.0 = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.DebugMonoPY3|x86.ActiveCfg = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.DebugMonoPY3|x86.Build.0 = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.DebugWin|Any CPU.ActiveCfg = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.DebugWin|Any CPU.Build.0 = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.DebugWin|x64.ActiveCfg = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.DebugWin|x64.Build.0 = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.DebugWin|x86.ActiveCfg = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.DebugWin|x86.Build.0 = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.DebugWinPY3|Any CPU.ActiveCfg = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.DebugWinPY3|Any CPU.Build.0 = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.DebugWinPY3|x64.ActiveCfg = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.DebugWinPY3|x64.Build.0 = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.DebugWinPY3|x86.ActiveCfg = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.DebugWinPY3|x86.Build.0 = Debug|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.Release|Any CPU.Build.0 = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.Release|x64.ActiveCfg = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.Release|x64.Build.0 = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.Release|x86.ActiveCfg = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.Release|x86.Build.0 = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.ReleaseMono|x64.ActiveCfg = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.ReleaseMono|x64.Build.0 = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.ReleaseMono|x86.ActiveCfg = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.ReleaseMono|x86.Build.0 = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.ReleaseMonoPY3|Any CPU.ActiveCfg = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.ReleaseMonoPY3|Any CPU.Build.0 = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.ReleaseMonoPY3|x64.ActiveCfg = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.ReleaseMonoPY3|x64.Build.0 = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.ReleaseMonoPY3|x86.ActiveCfg = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.ReleaseMonoPY3|x86.Build.0 = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.ReleaseWin|Any CPU.ActiveCfg = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.ReleaseWin|Any CPU.Build.0 = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.ReleaseWin|x64.ActiveCfg = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.ReleaseWin|x64.Build.0 = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.ReleaseWin|x86.ActiveCfg = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.ReleaseWin|x86.Build.0 = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.ReleaseWinPY3|Any CPU.ActiveCfg = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.ReleaseWinPY3|Any CPU.Build.0 = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.ReleaseWinPY3|x64.ActiveCfg = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.ReleaseWinPY3|x64.Build.0 = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.ReleaseWinPY3|x86.ActiveCfg = Release|Any CPU
+ {39FC5D2C-EFD3-487D-9B9C-6F5464F27764}.ReleaseWinPY3|x86.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {6EBD48BE-33F5-44AA-9006-850A23CAE8BF}
+ EndGlobalSection
+ GlobalSection(MonoDevelopProperties) = preSolution
+ StartupItem = src\console\Console.csproj
+ Policies = $0
+ $0.VersionControlPolicy = $1
+ $1.inheritsSet = Mono
+ $0.ChangeLogPolicy = $2
+ $2.UpdateMode = None
+ $2.MessageStyle = $3
+ $3.LineAlign = 0
+ $2.inheritsSet = Mono
+ EndGlobalSection
+EndGlobal
diff --git a/src/clrmodule.csproj b/src/clrmodule.csproj
new file mode 100644
index 000000000..3e1d353a2
--- /dev/null
+++ b/src/clrmodule.csproj
@@ -0,0 +1,11 @@
+
+
+
+ netstandard2.0
+
+
+
+ PYTHON3;TRACE;DEBUG
+
+
+
diff --git a/src/clrmodule/Properties/AssemblyInfo.cs b/src/clrmodule/Properties/AssemblyInfo.cs
deleted file mode 100644
index 939f4171f..000000000
--- a/src/clrmodule/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using System.Reflection;
-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("clrmodule")]
-[assembly: AssemblyDescription("")]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("ae10d6a4-55c2-482f-9716-9988e6c169e3")]
diff --git a/src/clrmodule/clrmodule.15.csproj b/src/clrmodule/clrmodule.15.csproj
deleted file mode 100644
index 326620c00..000000000
--- a/src/clrmodule/clrmodule.15.csproj
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
-
-
- net40
- x64;x86
- DebugMono;DebugMonoPY3;ReleaseMono;ReleaseMonoPY3;DebugWin;DebugWinPY3;ReleaseWin;ReleaseWinPY3
- clrmodule
- clrmodule
- clrmodule
- 2.4.1
- false
- false
- false
- false
- false
- false
- bin\clrmodule.xml
- bin\
- false
- 1591
- ..\..\
- $(SolutionDir)\bin\
- $(PythonBuildDir)\$(TargetFramework)\
- 6
- prompt
- $(PYTHONNET_DEFINE_CONSTANTS)
- XPLAT
- $(DefineConstants);$(CustomDefineConstants);$(BaseDefineConstants);
- $(DefineConstants);TRACE;DEBUG
-
-
-
- x86
-
-
- x64
-
-
-
- false
- full
-
-
- true
- pdbonly
-
-
-
- $(DefineConstants);PYTHON2;TRACE;DEBUG
-
-
- $(DefineConstants);PYTHON2
-
-
- $(DefineConstants);PYTHON2;TRACE;DEBUG
-
-
- $(DefineConstants);PYTHON2
-
-
- $(DefineConstants);PYTHON3;TRACE;DEBUG
-
-
- $(DefineConstants);PYTHON3
-
-
- $(DefineConstants);PYTHON3;TRACE;DEBUG
-
-
- $(DefineConstants);PYTHON3
-
-
-
-
-
-
-
-
-
-
-
-
-
- $(TargetPath)
- $(TargetDir)$(TargetName).pdb
-
-
-
-
-
-
-
-
diff --git a/src/clrmodule/clrmodule.csproj b/src/clrmodule/clrmodule.csproj
index 6e5ff4966..3b0e27b9f 100644
--- a/src/clrmodule/clrmodule.csproj
+++ b/src/clrmodule/clrmodule.csproj
@@ -1,95 +1,15 @@
-
-
+
+
- Debug
- AnyCPU
- {86E834DE-1139-4511-96CC-69636A56E7AC}
- Library
- clrmodule
- clrmodule
- bin\clrmodule.xml
- bin\
- v4.0
-
- 1591
- ..\..\
- $(SolutionDir)\bin\
- Properties
- 6
- true
- prompt
+ netstandard2.0
-
- x86
+
+
+ TRACE;DEBUG;PYTHON3
-
- x64
-
-
- true
- PYTHON2;TRACE;DEBUG
- full
-
-
- PYTHON2
- true
- pdbonly
-
-
- true
- PYTHON2;TRACE;DEBUG
- full
-
-
- PYTHON2
- true
- pdbonly
-
-
- true
- PYTHON3;TRACE;DEBUG
- full
-
-
- PYTHON3
- true
- pdbonly
-
-
- true
- PYTHON3;TRACE;DEBUG
- full
-
-
- PYTHON3
- true
- pdbonly
-
-
-
- ..\..\packages\UnmanagedExports.1.2.7\lib\net\RGiesecke.DllExport.Metadata.dll
- False
-
-
-
+
-
-
- Properties\SharedAssemblyInfo.cs
-
-
+
-
-
-
-
-
- $(TargetPath)
- $(TargetDir)$(TargetName).pdb
-
-
-
-
-
-
+
diff --git a/src/console/Console.15.csproj b/src/console/Console.15.csproj
deleted file mode 100644
index 4e765fea4..000000000
--- a/src/console/Console.15.csproj
+++ /dev/null
@@ -1,94 +0,0 @@
-
-
-
- net40;netcoreapp2.0
- x64;x86
- DebugMono;DebugMonoPY3;ReleaseMono;ReleaseMonoPY3;DebugWin;DebugWinPY3;ReleaseWin;ReleaseWinPY3
- Exe
- nPython
- Python.Runtime
- nPython
- 2.4.1
- false
- false
- false
- false
- false
- false
- bin\
- false
- $(OutputPath)\$(AssemblyName).xml
- $(OutputPath)\$(TargetFramework)\$(AssemblyName).xml
- 1591
- ..\..\
- $(SolutionDir)\bin\
- $(PythonBuildDir)\$(TargetFramework)\
- 6
- python-clear.ico
- prompt
- $(PYTHONNET_DEFINE_CONSTANTS)
- XPLAT
- $(DefineConstants);$(CustomDefineConstants);$(BaseDefineConstants);
- $(DefineConstants);TRACE;DEBUG
- $(NuGetPackageRoot)\microsoft.targetingpack.netframework.v4.5\1.0.1\lib\net45\
-
-
- x86
-
-
- x64
-
-
-
- false
- full
-
-
- true
- pdbonly
-
-
- true
- false
- full
-
-
- true
- true
- portable
-
-
-
- $(DefineConstants);DEBUG;TRACE
-
-
- $(DefineConstants)
-
-
-
- $(PythonManifest)
-
-
-
-
-
-
- Properties\SharedAssemblyInfo.cs
-
-
-
-
-
- Python.Runtime.dll
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/console/Console.csproj b/src/console/Console.csproj
index ea88b6356..89b9b00e5 100644
--- a/src/console/Console.csproj
+++ b/src/console/Console.csproj
@@ -1,101 +1,16 @@
-
-
+
+
- Debug
- AnyCPU
- {E29DCF0A-5114-4A98-B1DD-71264B6EA349}
Exe
- nPython
- Python.Runtime
- bin\nPython.xml
- bin\
- v4.0
-
- 1591
- ..\..\
- $(SolutionDir)\bin\
- Properties
- 6
- python-clear.ico
- prompt
+ netcoreapp2.2
-
- x86
-
-
- x64
-
-
- true
- DEBUG;TRACE
- full
-
-
-
-
- true
- pdbonly
-
-
- true
- DEBUG;TRACE
- full
-
-
-
-
- true
- pdbonly
-
-
- true
- DEBUG;TRACE
- full
-
-
-
-
- true
- pdbonly
-
-
- true
- DEBUG;TRACE
- full
-
-
-
-
- true
- pdbonly
-
-
- $(PythonManifest)
-
-
-
-
-
-
-
- Properties\SharedAssemblyInfo.cs
-
-
-
+
-
-
- Python.Runtime.dll
-
+
+
-
- {097b4ac0-74e9-4c58-bcf8-c69746ec8271}
- Python.Runtime
-
+
-
-
-
-
+
diff --git a/src/console/Properties/AssemblyInfo.cs b/src/console/Properties/AssemblyInfo.cs
deleted file mode 100644
index 081ae0c94..000000000
--- a/src/console/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-using System.Reflection;
-
-// 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("Python Console")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyDefaultAlias("python.exe")]
diff --git a/src/console/app.config b/src/console/app.config
new file mode 100644
index 000000000..312bb3f26
--- /dev/null
+++ b/src/console/app.config
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/embed_tests/Python.EmbeddingTest.15.csproj b/src/embed_tests/Python.EmbeddingTest.15.csproj
deleted file mode 100644
index 4f6b2de46..000000000
--- a/src/embed_tests/Python.EmbeddingTest.15.csproj
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
-
- net40;netcoreapp2.0
- x64;x86
- DebugMono;DebugMonoPY3;ReleaseMono;ReleaseMonoPY3;DebugWin;DebugWinPY3;ReleaseWin;ReleaseWinPY3
- Exe
- false
- Python.EmbeddingTest
- Python.EmbeddingTest
- Python.EmbeddingTest
- 2.4.1
- false
- false
- false
- false
- bin\
- false
- $(OutputPath)\$(AssemblyName).xml
- $(OutputPath)\$(TargetFramework)\$(AssemblyName).xml
- 1591
- ..\..\
- $(SolutionDir)\bin\
- $(OutputPath)\$(TargetFramework)_publish
- 6
- prompt
- $(PYTHONNET_DEFINE_CONSTANTS)
- XPLAT
- $(DefineConstants);$(CustomDefineConstants);$(BaseDefineConstants);
- $(DefineConstants);NETCOREAPP
- $(DefineConstants);NETSTANDARD
- $(DefineConstants);TRACE;DEBUG
- $(NuGetPackageRoot)\microsoft.targetingpack.netframework.v4.5\1.0.1\lib\net45\
-
-
- x86
-
-
- x64
-
-
-
- false
- full
-
-
- true
- pdbonly
-
-
- true
- false
- full
-
-
- true
- true
- portable
-
-
-
- $(DefineConstants);DEBUG;TRACE
-
-
- $(DefineConstants)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $(TargetPath)
- $(TargetDir)$(TargetName).pdb
-
-
-
-
-
-
-
-
diff --git a/src/embed_tests/Python.EmbeddingTest.csproj b/src/embed_tests/Python.EmbeddingTest.csproj
index faa55fa27..a83853938 100644
--- a/src/embed_tests/Python.EmbeddingTest.csproj
+++ b/src/embed_tests/Python.EmbeddingTest.csproj
@@ -1,129 +1,23 @@
-
-
+
+
- Debug
- AnyCPU
- {4165C59D-2822-499F-A6DB-EACA4C331EB5}
- Library
- Python.EmbeddingTest
- Python.EmbeddingTest
- bin\Python.EmbeddingTest.xml
- bin\
- v4.0
-
- 1591
- ..\..\
- $(SolutionDir)\bin\
- 6
- true
- prompt
+ netcoreapp2.2
+
+ false
-
- x86
-
-
- x64
-
-
- true
- DEBUG;TRACE
- full
-
-
-
-
- true
- pdbonly
-
-
- true
- DEBUG;TRACE
- full
-
-
-
-
- true
- pdbonly
-
-
- true
- DEBUG;TRACE
- full
-
-
-
-
- true
- pdbonly
-
-
- true
- DEBUG;TRACE
- full
-
-
-
-
- true
- pdbonly
-
-
-
-
- ..\..\packages\NUnit.3.7.1\lib\net40\nunit.framework.dll
-
-
-
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}
- Python.Runtime
-
+
-
-
-
-
-
- $(TargetPath)
- $(TargetDir)$(TargetName).pdb
-
-
-
-
-
+
diff --git a/src/embed_tests/TestConverter.cs b/src/embed_tests/TestConverter.cs
index caaec311b..73a8942b1 100644
--- a/src/embed_tests/TestConverter.cs
+++ b/src/embed_tests/TestConverter.cs
@@ -1,5 +1,6 @@
using NUnit.Framework;
using Python.Runtime;
+using System;
namespace Python.EmbeddingTest
{
diff --git a/src/runtime/Python.Runtime.csproj b/src/runtime/Python.Runtime.csproj
index 19f776c77..ffe1974ca 100644
--- a/src/runtime/Python.Runtime.csproj
+++ b/src/runtime/Python.Runtime.csproj
@@ -1,171 +1,25 @@
-
-
+
+
- Debug
- AnyCPU
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}
- Library
- Python.Runtime
- Python.Runtime
- bin\Python.Runtime.xml
- bin\
- v4.0
-
- 1591
- ..\..\
- $(SolutionDir)\bin\
- Properties
- 6
- true
- false
- ..\pythonnet.snk
-
-
-
-
-
- PYTHON2;PYTHON27;UCS4
- true
- pdbonly
-
-
- PYTHON3;PYTHON37;UCS4
- true
- pdbonly
-
-
- true
- PYTHON2;PYTHON27;UCS4;TRACE;DEBUG
- false
- full
-
-
- true
- PYTHON3;PYTHON37;UCS4;TRACE;DEBUG
- false
- full
-
-
- PYTHON2;PYTHON27;UCS2
- true
- pdbonly
-
-
- PYTHON3;PYTHON37;UCS2
- true
- pdbonly
-
-
- true
- PYTHON2;PYTHON27;UCS2;TRACE;DEBUG
- false
- full
+ netstandard2.0
-
- true
- PYTHON3;PYTHON37;UCS2;TRACE;DEBUG
- false
- full
+
+
+ TRACE;DEBUG;PYTHON3;PYTHON37;UCS2
+ true
+
-
+
+
+
-
-
-
- Properties\SharedAssemblyInfo.cs
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
-
-
- clr.py
-
-
-
-
- $(TargetPath)
- $(TargetDir)$(TargetName).pdb
-
-
-
-
-
-
+
+
diff --git a/src/runtime/converter.cs b/src/runtime/converter.cs
index 11c67bf82..615c81cee 100644
--- a/src/runtime/converter.cs
+++ b/src/runtime/converter.cs
@@ -13,7 +13,7 @@ namespace Python.Runtime
/// Performs data conversions between managed types and Python types.
///
[SuppressUnmanagedCodeSecurity]
- internal class Converter
+ public class Converter
{
private Converter()
{
@@ -273,7 +273,7 @@ internal static IntPtr ToPythonImplicit(object value)
/// Return a managed object for the given Python object, taking funny
/// byref types into account.
///
- internal static bool ToManaged(IntPtr value, Type type,
+ public static bool ToManaged(IntPtr value, Type type,
out object result, bool setError)
{
if (type.IsByRef)
diff --git a/src/runtime/propertyobject.cs b/src/runtime/propertyobject.cs
index f2c97f163..893fbe54b 100644
--- a/src/runtime/propertyobject.cs
+++ b/src/runtime/propertyobject.cs
@@ -13,7 +13,6 @@ internal class PropertyObject : ExtensionType
private MethodInfo getter;
private MethodInfo setter;
- [StrongNameIdentityPermission(SecurityAction.Assert)]
public PropertyObject(PropertyInfo md)
{
getter = md.GetGetMethod(true);
diff --git a/src/runtime/pyobject.cs b/src/runtime/pyobject.cs
index c86504802..831f427ed 100644
--- a/src/runtime/pyobject.cs
+++ b/src/runtime/pyobject.cs
@@ -852,6 +852,10 @@ public bool IsTrue()
return Runtime.PyObject_IsTrue(obj) != 0;
}
+ ///
+ /// Return true if the object is None
+ ///
+ public bool IsNone() => CheckNone(this) == null;
///
/// Dir Method
diff --git a/src/runtime/pythonengine.cs b/src/runtime/pythonengine.cs
index c1b663d22..f3f5995a1 100644
--- a/src/runtime/pythonengine.cs
+++ b/src/runtime/pythonengine.cs
@@ -205,7 +205,9 @@ public static void Initialize(IEnumerable args, bool setSysArgv = true,
Runtime.PyDict_SetItemString(module_globals, "__builtins__", builtins);
Assembly assembly = Assembly.GetExecutingAssembly();
- using (Stream stream = assembly.GetManifestResourceStream("clr.py"))
+ // use this to check what the correct path to the resource is:
+ //string[] names = assembly.GetManifestResourceNames();
+ using (Stream stream = assembly.GetManifestResourceStream("Python.Runtime.resources.clr.py"))
using (var reader = new StreamReader(stream))
{
// add the contents of clr.py to the module
diff --git a/src/runtime/runtime.cs b/src/runtime/runtime.cs
index 294ecaf48..4229e43bb 100644
--- a/src/runtime/runtime.cs
+++ b/src/runtime/runtime.cs
@@ -8,7 +8,7 @@
namespace Python.Runtime
{
[SuppressUnmanagedCodeSecurity]
- internal static class NativeMethods
+ public static class NativeMethods
{
#if MONO_LINUX || MONO_OSX
#if NETSTANDARD
@@ -189,13 +189,13 @@ public class Runtime
public static readonly int pyversionnumber = Convert.ToInt32(_pyver);
// set to true when python is finalizing
- internal static object IsFinalizingLock = new object();
- internal static bool IsFinalizing;
+ public static object IsFinalizingLock = new object();
+ public static bool IsFinalizing;
- internal static bool Is32Bit = IntPtr.Size == 4;
+ public static bool Is32Bit = IntPtr.Size == 4;
// .NET core: System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(OSPlatform.Windows)
- internal static bool IsWindows = Environment.OSVersion.Platform == PlatformID.Win32NT;
+ public static bool IsWindows = Environment.OSVersion.Platform == PlatformID.Win32NT;
///
/// Operating system type as reported by Python.
@@ -263,20 +263,20 @@ public enum MachineType
///
public static string MachineName { get; private set; }
- internal static bool IsPython2 = pyversionnumber < 30;
- internal static bool IsPython3 = pyversionnumber >= 30;
+ public static bool IsPython2 = pyversionnumber < 30;
+ public static bool IsPython3 = pyversionnumber >= 30;
public static int MainManagedThreadId { get; private set; }
///
/// Encoding to use to convert Unicode to/from Managed to Native
///
- internal static readonly Encoding PyEncoding = _UCS == 2 ? Encoding.Unicode : Encoding.UTF32;
+ public static readonly Encoding PyEncoding = _UCS == 2 ? Encoding.Unicode : Encoding.UTF32;
///
/// Initialize the runtime...
///
- internal static void Initialize(bool initSigs = false)
+ public static void Initialize(bool initSigs = false)
{
if (Py_IsInitialized() == 0)
{
@@ -479,7 +479,7 @@ private static void InitializePlatformData()
Machine = MType;
}
- internal static void Shutdown()
+ public static void Shutdown()
{
AssemblyManager.Shutdown();
Exceptions.Shutdown();
@@ -489,7 +489,7 @@ internal static void Shutdown()
}
// called *without* the GIL acquired by clr._AtExit
- internal static int AtExit()
+ public static int AtExit()
{
lock (IsFinalizingLock)
{
@@ -498,36 +498,36 @@ internal static int AtExit()
return 0;
}
- internal static IntPtr Py_single_input = (IntPtr)256;
- internal static IntPtr Py_file_input = (IntPtr)257;
- internal static IntPtr Py_eval_input = (IntPtr)258;
-
- internal static IntPtr PyBaseObjectType;
- internal static IntPtr PyModuleType;
- internal static IntPtr PyClassType;
- internal static IntPtr PyInstanceType;
- internal static IntPtr PyCLRMetaType;
- internal static IntPtr PyMethodType;
- internal static IntPtr PyWrapperDescriptorType;
-
- internal static IntPtr PyUnicodeType;
- internal static IntPtr PyStringType;
- internal static IntPtr PyTupleType;
- internal static IntPtr PyListType;
- internal static IntPtr PyDictType;
- internal static IntPtr PyIntType;
- internal static IntPtr PyLongType;
- internal static IntPtr PyFloatType;
- internal static IntPtr PyBoolType;
- internal static IntPtr PyNoneType;
- internal static IntPtr PyTypeType;
+ public static IntPtr Py_single_input = (IntPtr)256;
+ public static IntPtr Py_file_input = (IntPtr)257;
+ public static IntPtr Py_eval_input = (IntPtr)258;
+
+ public static IntPtr PyBaseObjectType;
+ public static IntPtr PyModuleType;
+ public static IntPtr PyClassType;
+ public static IntPtr PyInstanceType;
+ public static IntPtr PyCLRMetaType;
+ public static IntPtr PyMethodType;
+ public static IntPtr PyWrapperDescriptorType;
+
+ public static IntPtr PyUnicodeType;
+ public static IntPtr PyStringType;
+ public static IntPtr PyTupleType;
+ public static IntPtr PyListType;
+ public static IntPtr PyDictType;
+ public static IntPtr PyIntType;
+ public static IntPtr PyLongType;
+ public static IntPtr PyFloatType;
+ public static IntPtr PyBoolType;
+ public static IntPtr PyNoneType;
+ public static IntPtr PyTypeType;
#if PYTHON3
- internal static IntPtr PyBytesType;
+ public static IntPtr PyBytesType;
#endif
- internal static IntPtr _PyObject_NextNotImplemented;
+ public static IntPtr _PyObject_NextNotImplemented;
- internal static IntPtr PyNotImplemented;
+ public static IntPtr PyNotImplemented;
internal const int Py_LT = 0;
internal const int Py_LE = 1;
internal const int Py_EQ = 2;
@@ -535,10 +535,23 @@ internal static int AtExit()
internal const int Py_GT = 4;
internal const int Py_GE = 5;
- internal static IntPtr PyTrue;
- internal static IntPtr PyFalse;
- internal static IntPtr PyNone;
- internal static IntPtr Error;
+ public static IntPtr PyTrue;
+ public static IntPtr PyFalse;
+ public static IntPtr PyNone;
+ public static IntPtr Error;
+
+ public static PyObject _none;
+ public static PyObject GetPyNone()
+ {
+ if (_none == null)
+ {
+ var result = Runtime.PyNone;
+ Runtime.XIncref(result);
+ _none= new PyObject(result);
+ }
+
+ return _none;
+ }
///
/// Check if any Python Exceptions occurred.
@@ -547,7 +560,7 @@ internal static int AtExit()
///
/// Can be used instead of `obj == IntPtr.Zero` for example.
///
- internal static void CheckExceptionOccurred()
+ public static void CheckExceptionOccurred()
{
if (PyErr_Occurred() != IntPtr.Zero)
{
@@ -555,7 +568,7 @@ internal static void CheckExceptionOccurred()
}
}
- internal static IntPtr ExtendTuple(IntPtr t, params IntPtr[] args)
+ public static IntPtr ExtendTuple(IntPtr t, params IntPtr[] args)
{
var size = PyTuple_Size(t);
int add = args.Length;
@@ -579,12 +592,12 @@ internal static IntPtr ExtendTuple(IntPtr t, params IntPtr[] args)
return items;
}
- internal static Type[] PythonArgsToTypeArray(IntPtr arg)
+ public static Type[] PythonArgsToTypeArray(IntPtr arg)
{
return PythonArgsToTypeArray(arg, false);
}
- internal static Type[] PythonArgsToTypeArray(IntPtr arg, bool mangleObjects)
+ public static Type[] PythonArgsToTypeArray(IntPtr arg, bool mangleObjects)
{
// Given a PyObject * that is either a single type object or a
// tuple of (managed or unmanaged) type objects, return a Type[]
@@ -649,7 +662,7 @@ internal static Type[] PythonArgsToTypeArray(IntPtr arg, bool mangleObjects)
/// some optimization to avoid managed <--> unmanaged transitions
/// (mostly for heavily used methods).
///
- internal static unsafe void XIncref(IntPtr op)
+ public static unsafe void XIncref(IntPtr op)
{
#if PYTHON_WITH_PYDEBUG || NETSTANDARD
Py_IncRef(op);
@@ -670,7 +683,7 @@ internal static unsafe void XIncref(IntPtr op)
#endif
}
- internal static unsafe void XDecref(IntPtr op)
+ public static unsafe void XDecref(IntPtr op)
{
#if PYTHON_WITH_PYDEBUG || NETSTANDARD
Py_DecRef(op);
@@ -707,7 +720,7 @@ internal static unsafe void XDecref(IntPtr op)
#endif
}
- internal static unsafe long Refcount(IntPtr op)
+ public static unsafe long Refcount(IntPtr op)
{
var p = (void*)op;
if ((void*)0 == p)
@@ -723,7 +736,7 @@ internal static unsafe long Refcount(IntPtr op)
///
/// PyObject Ptr
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void Py_IncRef(IntPtr ob);
+ public static extern void Py_IncRef(IntPtr ob);
///
/// Export of Macro Py_XDecRef. Use XDecref instead.
@@ -731,53 +744,53 @@ internal static unsafe long Refcount(IntPtr op)
///
/// PyObject Ptr
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void Py_DecRef(IntPtr ob);
+ public static extern void Py_DecRef(IntPtr ob);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void Py_Initialize();
+ public static extern void Py_Initialize();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void Py_InitializeEx(int initsigs);
+ public static extern void Py_InitializeEx(int initsigs);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int Py_IsInitialized();
+ public static extern int Py_IsInitialized();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void Py_Finalize();
+ public static extern void Py_Finalize();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr Py_NewInterpreter();
+ public static extern IntPtr Py_NewInterpreter();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void Py_EndInterpreter(IntPtr threadState);
+ public static extern void Py_EndInterpreter(IntPtr threadState);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyThreadState_New(IntPtr istate);
+ public static extern IntPtr PyThreadState_New(IntPtr istate);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyThreadState_Get();
+ public static extern IntPtr PyThreadState_Get();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyThread_get_key_value(IntPtr key);
+ public static extern IntPtr PyThread_get_key_value(IntPtr key);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyThread_get_thread_ident();
+ public static extern int PyThread_get_thread_ident();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyThread_set_key_value(IntPtr key, IntPtr value);
+ public static extern int PyThread_set_key_value(IntPtr key, IntPtr value);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyThreadState_Swap(IntPtr key);
+ public static extern IntPtr PyThreadState_Swap(IntPtr key);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyGILState_Ensure();
+ public static extern IntPtr PyGILState_Ensure();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void PyGILState_Release(IntPtr gs);
+ public static extern void PyGILState_Release(IntPtr gs);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyGILState_GetThisThreadState();
+ public static extern IntPtr PyGILState_GetThisThreadState();
#if PYTHON3
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
@@ -791,103 +804,103 @@ public static extern int Py_Main(
#endif
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void PyEval_InitThreads();
+ public static extern void PyEval_InitThreads();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyEval_ThreadsInitialized();
+ public static extern int PyEval_ThreadsInitialized();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void PyEval_AcquireLock();
+ public static extern void PyEval_AcquireLock();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void PyEval_ReleaseLock();
+ public static extern void PyEval_ReleaseLock();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void PyEval_AcquireThread(IntPtr tstate);
+ public static extern void PyEval_AcquireThread(IntPtr tstate);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void PyEval_ReleaseThread(IntPtr tstate);
+ public static extern void PyEval_ReleaseThread(IntPtr tstate);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyEval_SaveThread();
+ public static extern IntPtr PyEval_SaveThread();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void PyEval_RestoreThread(IntPtr tstate);
+ public static extern void PyEval_RestoreThread(IntPtr tstate);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyEval_GetBuiltins();
+ public static extern IntPtr PyEval_GetBuiltins();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyEval_GetGlobals();
+ public static extern IntPtr PyEval_GetGlobals();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyEval_GetLocals();
+ public static extern IntPtr PyEval_GetLocals();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr Py_GetProgramName();
+ public static extern IntPtr Py_GetProgramName();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void Py_SetProgramName(IntPtr name);
+ public static extern void Py_SetProgramName(IntPtr name);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr Py_GetPythonHome();
+ public static extern IntPtr Py_GetPythonHome();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void Py_SetPythonHome(IntPtr home);
+ public static extern void Py_SetPythonHome(IntPtr home);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr Py_GetPath();
+ public static extern IntPtr Py_GetPath();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void Py_SetPath(IntPtr home);
+ public static extern void Py_SetPath(IntPtr home);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr Py_GetVersion();
+ public static extern IntPtr Py_GetVersion();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr Py_GetPlatform();
+ public static extern IntPtr Py_GetPlatform();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr Py_GetCopyright();
+ public static extern IntPtr Py_GetCopyright();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr Py_GetCompiler();
+ public static extern IntPtr Py_GetCompiler();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr Py_GetBuildInfo();
+ public static extern IntPtr Py_GetBuildInfo();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyRun_SimpleString(string code);
+ public static extern int PyRun_SimpleString(string code);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyRun_String(string code, IntPtr st, IntPtr globals, IntPtr locals);
+ public static extern IntPtr PyRun_String(string code, IntPtr st, IntPtr globals, IntPtr locals);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyEval_EvalCode(IntPtr co, IntPtr globals, IntPtr locals);
+ public static extern IntPtr PyEval_EvalCode(IntPtr co, IntPtr globals, IntPtr locals);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr Py_CompileString(string code, string file, IntPtr tok);
+ public static extern IntPtr Py_CompileString(string code, string file, IntPtr tok);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyImport_ExecCodeModule(string name, IntPtr code);
+ public static extern IntPtr PyImport_ExecCodeModule(string name, IntPtr code);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyCFunction_NewEx(IntPtr ml, IntPtr self, IntPtr mod);
+ public static extern IntPtr PyCFunction_NewEx(IntPtr ml, IntPtr self, IntPtr mod);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyCFunction_Call(IntPtr func, IntPtr args, IntPtr kw);
+ public static extern IntPtr PyCFunction_Call(IntPtr func, IntPtr args, IntPtr kw);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyClass_New(IntPtr bases, IntPtr dict, IntPtr name);
+ public static extern IntPtr PyClass_New(IntPtr bases, IntPtr dict, IntPtr name);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyInstance_New(IntPtr cls, IntPtr args, IntPtr kw);
+ public static extern IntPtr PyInstance_New(IntPtr cls, IntPtr args, IntPtr kw);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyInstance_NewRaw(IntPtr cls, IntPtr dict);
+ public static extern IntPtr PyInstance_NewRaw(IntPtr cls, IntPtr dict);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyMethod_New(IntPtr func, IntPtr self, IntPtr cls);
+ public static extern IntPtr PyMethod_New(IntPtr func, IntPtr self, IntPtr cls);
//====================================================================
@@ -899,7 +912,7 @@ public static extern int Py_Main(
/// designed to be lean and mean in IL & avoid managed <-> unmanaged
/// transitions. Note that this does not incref the type object.
///
- internal static unsafe IntPtr PyObject_TYPE(IntPtr op)
+ public static unsafe IntPtr PyObject_TYPE(IntPtr op)
{
var p = (void*)op;
if ((void*)0 == p)
@@ -921,14 +934,14 @@ internal static unsafe IntPtr PyObject_TYPE(IntPtr op)
/// This version avoids a managed <-> unmanaged transition.
/// This one does incref the returned type object.
///
- internal static IntPtr PyObject_Type(IntPtr op)
+ public static IntPtr PyObject_Type(IntPtr op)
{
IntPtr tp = PyObject_TYPE(op);
XIncref(tp);
return tp;
}
- internal static string PyObject_GetTypeName(IntPtr op)
+ public static string PyObject_GetTypeName(IntPtr op)
{
IntPtr pyType = Marshal.ReadIntPtr(op, ObjectOffset.ob_type);
IntPtr ppName = Marshal.ReadIntPtr(pyType, TypeOffset.tp_name);
@@ -938,7 +951,7 @@ internal static string PyObject_GetTypeName(IntPtr op)
///
/// Test whether the Python object is an iterable.
///
- internal static bool PyObject_IsIterable(IntPtr pointer)
+ public static bool PyObject_IsIterable(IntPtr pointer)
{
var ob_type = Marshal.ReadIntPtr(pointer, ObjectOffset.ob_type);
#if PYTHON2
@@ -951,46 +964,46 @@ internal static bool PyObject_IsIterable(IntPtr pointer)
}
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyObject_HasAttrString(IntPtr pointer, string name);
+ public static extern int PyObject_HasAttrString(IntPtr pointer, string name);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyObject_GetAttrString(IntPtr pointer, string name);
+ public static extern IntPtr PyObject_GetAttrString(IntPtr pointer, string name);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyObject_SetAttrString(IntPtr pointer, string name, IntPtr value);
+ public static extern int PyObject_SetAttrString(IntPtr pointer, string name, IntPtr value);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyObject_HasAttr(IntPtr pointer, IntPtr name);
+ public static extern int PyObject_HasAttr(IntPtr pointer, IntPtr name);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyObject_GetAttr(IntPtr pointer, IntPtr name);
+ public static extern IntPtr PyObject_GetAttr(IntPtr pointer, IntPtr name);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyObject_SetAttr(IntPtr pointer, IntPtr name, IntPtr value);
+ public static extern int PyObject_SetAttr(IntPtr pointer, IntPtr name, IntPtr value);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyObject_GetItem(IntPtr pointer, IntPtr key);
+ public static extern IntPtr PyObject_GetItem(IntPtr pointer, IntPtr key);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyObject_SetItem(IntPtr pointer, IntPtr key, IntPtr value);
+ public static extern int PyObject_SetItem(IntPtr pointer, IntPtr key, IntPtr value);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyObject_DelItem(IntPtr pointer, IntPtr key);
+ public static extern int PyObject_DelItem(IntPtr pointer, IntPtr key);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyObject_GetIter(IntPtr op);
+ public static extern IntPtr PyObject_GetIter(IntPtr op);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyObject_Call(IntPtr pointer, IntPtr args, IntPtr kw);
+ public static extern IntPtr PyObject_Call(IntPtr pointer, IntPtr args, IntPtr kw);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyObject_CallObject(IntPtr pointer, IntPtr args);
+ public static extern IntPtr PyObject_CallObject(IntPtr pointer, IntPtr args);
#if PYTHON3
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyObject_RichCompareBool(IntPtr value1, IntPtr value2, int opid);
+ public static extern int PyObject_RichCompareBool(IntPtr value1, IntPtr value2, int opid);
- internal static int PyObject_Compare(IntPtr value1, IntPtr value2)
+ public static int PyObject_Compare(IntPtr value1, IntPtr value2)
{
int res;
res = PyObject_RichCompareBool(value1, value2, Py_LT);
@@ -1016,25 +1029,25 @@ internal static int PyObject_Compare(IntPtr value1, IntPtr value2)
}
#elif PYTHON2
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyObject_Compare(IntPtr value1, IntPtr value2);
+ public static extern int PyObject_Compare(IntPtr value1, IntPtr value2);
#endif
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyObject_IsInstance(IntPtr ob, IntPtr type);
+ public static extern int PyObject_IsInstance(IntPtr ob, IntPtr type);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyObject_IsSubclass(IntPtr ob, IntPtr type);
+ public static extern int PyObject_IsSubclass(IntPtr ob, IntPtr type);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyCallable_Check(IntPtr pointer);
+ public static extern int PyCallable_Check(IntPtr pointer);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyObject_IsTrue(IntPtr pointer);
+ public static extern int PyObject_IsTrue(IntPtr pointer);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyObject_Not(IntPtr pointer);
+ public static extern int PyObject_Not(IntPtr pointer);
- internal static long PyObject_Size(IntPtr pointer)
+ public static long PyObject_Size(IntPtr pointer)
{
return (long) _PyObject_Size(pointer);
}
@@ -1043,25 +1056,25 @@ internal static long PyObject_Size(IntPtr pointer)
private static extern IntPtr _PyObject_Size(IntPtr pointer);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyObject_Hash(IntPtr op);
+ public static extern IntPtr PyObject_Hash(IntPtr op);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyObject_Repr(IntPtr pointer);
+ public static extern IntPtr PyObject_Repr(IntPtr pointer);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyObject_Str(IntPtr pointer);
+ public static extern IntPtr PyObject_Str(IntPtr pointer);
#if PYTHON3
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl,
EntryPoint = "PyObject_Str")]
- internal static extern IntPtr PyObject_Unicode(IntPtr pointer);
+ public static extern IntPtr PyObject_Unicode(IntPtr pointer);
#elif PYTHON2
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyObject_Unicode(IntPtr pointer);
+ public static extern IntPtr PyObject_Unicode(IntPtr pointer);
#endif
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyObject_Dir(IntPtr pointer);
+ public static extern IntPtr PyObject_Dir(IntPtr pointer);
//====================================================================
@@ -1071,38 +1084,38 @@ internal static long PyObject_Size(IntPtr pointer)
#if PYTHON3
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl,
EntryPoint = "PyNumber_Long")]
- internal static extern IntPtr PyNumber_Int(IntPtr ob);
+ public static extern IntPtr PyNumber_Int(IntPtr ob);
#elif PYTHON2
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_Int(IntPtr ob);
+ public static extern IntPtr PyNumber_Int(IntPtr ob);
#endif
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_Long(IntPtr ob);
+ public static extern IntPtr PyNumber_Long(IntPtr ob);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_Float(IntPtr ob);
+ public static extern IntPtr PyNumber_Float(IntPtr ob);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern bool PyNumber_Check(IntPtr ob);
+ public static extern bool PyNumber_Check(IntPtr ob);
- internal static bool PyInt_Check(IntPtr ob)
+ public static bool PyInt_Check(IntPtr ob)
{
return PyObject_TypeCheck(ob, PyIntType);
}
- internal static bool PyBool_Check(IntPtr ob)
+ public static bool PyBool_Check(IntPtr ob)
{
return PyObject_TypeCheck(ob, PyBoolType);
}
- internal static IntPtr PyInt_FromInt32(int value)
+ public static IntPtr PyInt_FromInt32(int value)
{
var v = new IntPtr(value);
return PyInt_FromLong(v);
}
- internal static IntPtr PyInt_FromInt64(long value)
+ public static IntPtr PyInt_FromInt64(long value)
{
var v = new IntPtr(value);
return PyInt_FromLong(v);
@@ -1115,152 +1128,152 @@ internal static IntPtr PyInt_FromInt64(long value)
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl,
EntryPoint = "PyLong_AsLong")]
- internal static extern int PyInt_AsLong(IntPtr value);
+ public static extern int PyInt_AsLong(IntPtr value);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl,
EntryPoint = "PyLong_FromString")]
- internal static extern IntPtr PyInt_FromString(string value, IntPtr end, int radix);
+ public static extern IntPtr PyInt_FromString(string value, IntPtr end, int radix);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl,
EntryPoint = "PyLong_GetMax")]
- internal static extern int PyInt_GetMax();
+ public static extern int PyInt_GetMax();
#elif PYTHON2
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr PyInt_FromLong(IntPtr value);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyInt_AsLong(IntPtr value);
+ public static extern int PyInt_AsLong(IntPtr value);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyInt_FromString(string value, IntPtr end, int radix);
+ public static extern IntPtr PyInt_FromString(string value, IntPtr end, int radix);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyInt_GetMax();
+ public static extern int PyInt_GetMax();
#endif
- internal static bool PyLong_Check(IntPtr ob)
+ public static bool PyLong_Check(IntPtr ob)
{
return PyObject_TYPE(ob) == PyLongType;
}
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyLong_FromLong(long value);
+ public static extern IntPtr PyLong_FromLong(long value);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyLong_FromUnsignedLong(uint value);
+ public static extern IntPtr PyLong_FromUnsignedLong(uint value);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyLong_FromDouble(double value);
+ public static extern IntPtr PyLong_FromDouble(double value);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyLong_FromLongLong(long value);
+ public static extern IntPtr PyLong_FromLongLong(long value);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyLong_FromUnsignedLongLong(ulong value);
+ public static extern IntPtr PyLong_FromUnsignedLongLong(ulong value);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyLong_FromString(string value, IntPtr end, int radix);
+ public static extern IntPtr PyLong_FromString(string value, IntPtr end, int radix);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyLong_AsLong(IntPtr value);
+ public static extern int PyLong_AsLong(IntPtr value);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern uint PyLong_AsUnsignedLong(IntPtr value);
+ public static extern uint PyLong_AsUnsignedLong(IntPtr value);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern long PyLong_AsLongLong(IntPtr value);
+ public static extern long PyLong_AsLongLong(IntPtr value);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern ulong PyLong_AsUnsignedLongLong(IntPtr value);
+ public static extern ulong PyLong_AsUnsignedLongLong(IntPtr value);
- internal static bool PyFloat_Check(IntPtr ob)
+ public static bool PyFloat_Check(IntPtr ob)
{
return PyObject_TYPE(ob) == PyFloatType;
}
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyFloat_FromDouble(double value);
+ public static extern IntPtr PyFloat_FromDouble(double value);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyFloat_FromString(IntPtr value, IntPtr junk);
+ public static extern IntPtr PyFloat_FromString(IntPtr value, IntPtr junk);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern double PyFloat_AsDouble(IntPtr ob);
+ public static extern double PyFloat_AsDouble(IntPtr ob);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_Add(IntPtr o1, IntPtr o2);
+ public static extern IntPtr PyNumber_Add(IntPtr o1, IntPtr o2);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_Subtract(IntPtr o1, IntPtr o2);
+ public static extern IntPtr PyNumber_Subtract(IntPtr o1, IntPtr o2);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_Multiply(IntPtr o1, IntPtr o2);
+ public static extern IntPtr PyNumber_Multiply(IntPtr o1, IntPtr o2);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_TrueDivide(IntPtr o1, IntPtr o2);
+ public static extern IntPtr PyNumber_TrueDivide(IntPtr o1, IntPtr o2);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_And(IntPtr o1, IntPtr o2);
+ public static extern IntPtr PyNumber_And(IntPtr o1, IntPtr o2);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_Xor(IntPtr o1, IntPtr o2);
+ public static extern IntPtr PyNumber_Xor(IntPtr o1, IntPtr o2);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_Or(IntPtr o1, IntPtr o2);
+ public static extern IntPtr PyNumber_Or(IntPtr o1, IntPtr o2);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_Lshift(IntPtr o1, IntPtr o2);
+ public static extern IntPtr PyNumber_Lshift(IntPtr o1, IntPtr o2);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_Rshift(IntPtr o1, IntPtr o2);
+ public static extern IntPtr PyNumber_Rshift(IntPtr o1, IntPtr o2);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_Power(IntPtr o1, IntPtr o2);
+ public static extern IntPtr PyNumber_Power(IntPtr o1, IntPtr o2);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_Remainder(IntPtr o1, IntPtr o2);
+ public static extern IntPtr PyNumber_Remainder(IntPtr o1, IntPtr o2);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_InPlaceAdd(IntPtr o1, IntPtr o2);
+ public static extern IntPtr PyNumber_InPlaceAdd(IntPtr o1, IntPtr o2);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_InPlaceSubtract(IntPtr o1, IntPtr o2);
+ public static extern IntPtr PyNumber_InPlaceSubtract(IntPtr o1, IntPtr o2);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_InPlaceMultiply(IntPtr o1, IntPtr o2);
+ public static extern IntPtr PyNumber_InPlaceMultiply(IntPtr o1, IntPtr o2);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_InPlaceTrueDivide(IntPtr o1, IntPtr o2);
+ public static extern IntPtr PyNumber_InPlaceTrueDivide(IntPtr o1, IntPtr o2);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_InPlaceAnd(IntPtr o1, IntPtr o2);
+ public static extern IntPtr PyNumber_InPlaceAnd(IntPtr o1, IntPtr o2);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_InPlaceXor(IntPtr o1, IntPtr o2);
+ public static extern IntPtr PyNumber_InPlaceXor(IntPtr o1, IntPtr o2);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_InPlaceOr(IntPtr o1, IntPtr o2);
+ public static extern IntPtr PyNumber_InPlaceOr(IntPtr o1, IntPtr o2);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_InPlaceLshift(IntPtr o1, IntPtr o2);
+ public static extern IntPtr PyNumber_InPlaceLshift(IntPtr o1, IntPtr o2);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_InPlaceRshift(IntPtr o1, IntPtr o2);
+ public static extern IntPtr PyNumber_InPlaceRshift(IntPtr o1, IntPtr o2);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_InPlacePower(IntPtr o1, IntPtr o2);
+ public static extern IntPtr PyNumber_InPlacePower(IntPtr o1, IntPtr o2);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_InPlaceRemainder(IntPtr o1, IntPtr o2);
+ public static extern IntPtr PyNumber_InPlaceRemainder(IntPtr o1, IntPtr o2);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_Negative(IntPtr o1);
+ public static extern IntPtr PyNumber_Negative(IntPtr o1);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_Positive(IntPtr o1);
+ public static extern IntPtr PyNumber_Positive(IntPtr o1);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyNumber_Invert(IntPtr o1);
+ public static extern IntPtr PyNumber_Invert(IntPtr o1);
//====================================================================
@@ -1268,9 +1281,9 @@ internal static bool PyFloat_Check(IntPtr ob)
//====================================================================
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern bool PySequence_Check(IntPtr pointer);
+ public static extern bool PySequence_Check(IntPtr pointer);
- internal static IntPtr PySequence_GetItem(IntPtr pointer, long index)
+ public static IntPtr PySequence_GetItem(IntPtr pointer, long index)
{
return PySequence_GetItem(pointer, new IntPtr(index));
}
@@ -1278,7 +1291,7 @@ internal static IntPtr PySequence_GetItem(IntPtr pointer, long index)
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr PySequence_GetItem(IntPtr pointer, IntPtr index);
- internal static int PySequence_SetItem(IntPtr pointer, long index, IntPtr value)
+ public static int PySequence_SetItem(IntPtr pointer, long index, IntPtr value)
{
return PySequence_SetItem(pointer, new IntPtr(index), value);
}
@@ -1286,7 +1299,7 @@ internal static int PySequence_SetItem(IntPtr pointer, long index, IntPtr value)
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
private static extern int PySequence_SetItem(IntPtr pointer, IntPtr index, IntPtr value);
- internal static int PySequence_DelItem(IntPtr pointer, long index)
+ public static int PySequence_DelItem(IntPtr pointer, long index)
{
return PySequence_DelItem(pointer, new IntPtr(index));
}
@@ -1294,7 +1307,7 @@ internal static int PySequence_DelItem(IntPtr pointer, long index)
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
private static extern int PySequence_DelItem(IntPtr pointer, IntPtr index);
- internal static IntPtr PySequence_GetSlice(IntPtr pointer, long i1, long i2)
+ public static IntPtr PySequence_GetSlice(IntPtr pointer, long i1, long i2)
{
return PySequence_GetSlice(pointer, new IntPtr(i1), new IntPtr(i2));
}
@@ -1302,7 +1315,7 @@ internal static IntPtr PySequence_GetSlice(IntPtr pointer, long i1, long i2)
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr PySequence_GetSlice(IntPtr pointer, IntPtr i1, IntPtr i2);
- internal static int PySequence_SetSlice(IntPtr pointer, long i1, long i2, IntPtr v)
+ public static int PySequence_SetSlice(IntPtr pointer, long i1, long i2, IntPtr v)
{
return PySequence_SetSlice(pointer, new IntPtr(i1), new IntPtr(i2), v);
}
@@ -1310,7 +1323,7 @@ internal static int PySequence_SetSlice(IntPtr pointer, long i1, long i2, IntPtr
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
private static extern int PySequence_SetSlice(IntPtr pointer, IntPtr i1, IntPtr i2, IntPtr v);
- internal static int PySequence_DelSlice(IntPtr pointer, long i1, long i2)
+ public static int PySequence_DelSlice(IntPtr pointer, long i1, long i2)
{
return PySequence_DelSlice(pointer, new IntPtr(i1), new IntPtr(i2));
}
@@ -1318,7 +1331,7 @@ internal static int PySequence_DelSlice(IntPtr pointer, long i1, long i2)
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
private static extern int PySequence_DelSlice(IntPtr pointer, IntPtr i1, IntPtr i2);
- internal static long PySequence_Size(IntPtr pointer)
+ public static long PySequence_Size(IntPtr pointer)
{
return (long) _PySequence_Size(pointer);
}
@@ -1327,12 +1340,12 @@ internal static long PySequence_Size(IntPtr pointer)
private static extern IntPtr _PySequence_Size(IntPtr pointer);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PySequence_Contains(IntPtr pointer, IntPtr item);
+ public static extern int PySequence_Contains(IntPtr pointer, IntPtr item);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PySequence_Concat(IntPtr pointer, IntPtr other);
+ public static extern IntPtr PySequence_Concat(IntPtr pointer, IntPtr other);
- internal static IntPtr PySequence_Repeat(IntPtr pointer, long count)
+ public static IntPtr PySequence_Repeat(IntPtr pointer, long count)
{
return PySequence_Repeat(pointer, new IntPtr(count));
}
@@ -1341,9 +1354,9 @@ internal static IntPtr PySequence_Repeat(IntPtr pointer, long count)
private static extern IntPtr PySequence_Repeat(IntPtr pointer, IntPtr count);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PySequence_Index(IntPtr pointer, IntPtr item);
+ public static extern int PySequence_Index(IntPtr pointer, IntPtr item);
- internal static long PySequence_Count(IntPtr pointer, IntPtr value)
+ public static long PySequence_Count(IntPtr pointer, IntPtr value)
{
return (long) _PySequence_Count(pointer, value);
}
@@ -1352,28 +1365,28 @@ internal static long PySequence_Count(IntPtr pointer, IntPtr value)
private static extern IntPtr _PySequence_Count(IntPtr pointer, IntPtr value);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PySequence_Tuple(IntPtr pointer);
+ public static extern IntPtr PySequence_Tuple(IntPtr pointer);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PySequence_List(IntPtr pointer);
+ public static extern IntPtr PySequence_List(IntPtr pointer);
//====================================================================
// Python string API
//====================================================================
- internal static bool IsStringType(IntPtr op)
+ public static bool IsStringType(IntPtr op)
{
IntPtr t = PyObject_TYPE(op);
return (t == PyStringType) || (t == PyUnicodeType);
}
- internal static bool PyString_Check(IntPtr ob)
+ public static bool PyString_Check(IntPtr ob)
{
return PyObject_TYPE(ob) == PyStringType;
}
- internal static IntPtr PyString_FromString(string value)
+ public static IntPtr PyString_FromString(string value)
{
#if PYTHON3
return PyUnicode_FromKindAndData(_UCS, value, value.Length);
@@ -1384,9 +1397,9 @@ internal static IntPtr PyString_FromString(string value)
#if PYTHON3
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyBytes_FromString(string op);
+ public static extern IntPtr PyBytes_FromString(string op);
- internal static long PyBytes_Size(IntPtr op)
+ public static long PyBytes_Size(IntPtr op)
{
return (long) _PyBytes_Size(op);
}
@@ -1394,24 +1407,24 @@ internal static long PyBytes_Size(IntPtr op)
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl, EntryPoint = "PyBytes_Size")]
private static extern IntPtr _PyBytes_Size(IntPtr op);
- internal static IntPtr PyBytes_AS_STRING(IntPtr ob)
+ public static IntPtr PyBytes_AS_STRING(IntPtr ob)
{
return ob + BytesOffset.ob_sval;
}
- internal static IntPtr PyString_FromStringAndSize(string value, long size)
+ public static IntPtr PyString_FromStringAndSize(string value, long size)
{
return _PyString_FromStringAndSize(value, new IntPtr(size));
}
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl,
EntryPoint = "PyUnicode_FromStringAndSize")]
- internal static extern IntPtr _PyString_FromStringAndSize(
+ public static extern IntPtr _PyString_FromStringAndSize(
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8Marshaler))] string value,
IntPtr size
);
- internal static IntPtr PyUnicode_FromStringAndSize(IntPtr value, long size)
+ public static IntPtr PyUnicode_FromStringAndSize(IntPtr value, long size)
{
return PyUnicode_FromStringAndSize(value, new IntPtr(size));
}
@@ -1419,7 +1432,7 @@ internal static IntPtr PyUnicode_FromStringAndSize(IntPtr value, long size)
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr PyUnicode_FromStringAndSize(IntPtr value, IntPtr size);
#elif PYTHON2
- internal static IntPtr PyString_FromStringAndSize(string value, long size)
+ public static IntPtr PyString_FromStringAndSize(string value, long size)
{
return PyString_FromStringAndSize(value, new IntPtr(size));
}
@@ -1428,25 +1441,25 @@ internal static IntPtr PyString_FromStringAndSize(string value, long size)
private static extern IntPtr PyString_FromStringAndSize(string value, IntPtr size);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyString_AsString(IntPtr op);
+ public static extern IntPtr PyString_AsString(IntPtr op);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyString_Size(IntPtr pointer);
+ public static extern int PyString_Size(IntPtr pointer);
#endif
- internal static bool PyUnicode_Check(IntPtr ob)
+ public static bool PyUnicode_Check(IntPtr ob)
{
return PyObject_TYPE(ob) == PyUnicodeType;
}
#if PYTHON3
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyUnicode_FromObject(IntPtr ob);
+ public static extern IntPtr PyUnicode_FromObject(IntPtr ob);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyUnicode_FromEncodedObject(IntPtr ob, IntPtr enc, IntPtr err);
+ public static extern IntPtr PyUnicode_FromEncodedObject(IntPtr ob, IntPtr enc, IntPtr err);
- internal static IntPtr PyUnicode_FromKindAndData(int kind, string s, long size)
+ public static IntPtr PyUnicode_FromKindAndData(int kind, string s, long size)
{
return PyUnicode_FromKindAndData(kind, s, new IntPtr(size));
}
@@ -1458,12 +1471,12 @@ private static extern IntPtr PyUnicode_FromKindAndData(
IntPtr size
);
- internal static IntPtr PyUnicode_FromUnicode(string s, long size)
+ public static IntPtr PyUnicode_FromUnicode(string s, long size)
{
return PyUnicode_FromKindAndData(_UCS, s, size);
}
- internal static long PyUnicode_GetSize(IntPtr ob)
+ public static long PyUnicode_GetSize(IntPtr ob)
{
return (long)_PyUnicode_GetSize(ob);
}
@@ -1472,20 +1485,20 @@ internal static long PyUnicode_GetSize(IntPtr ob)
private static extern IntPtr _PyUnicode_GetSize(IntPtr ob);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyUnicode_AsUnicode(IntPtr ob);
+ public static extern IntPtr PyUnicode_AsUnicode(IntPtr ob);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyUnicode_FromOrdinal(int c);
+ public static extern IntPtr PyUnicode_FromOrdinal(int c);
#elif PYTHON2
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl,
EntryPoint = PyUnicodeEntryPoint + "FromObject")]
- internal static extern IntPtr PyUnicode_FromObject(IntPtr ob);
+ public static extern IntPtr PyUnicode_FromObject(IntPtr ob);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl,
EntryPoint = PyUnicodeEntryPoint + "FromEncodedObject")]
- internal static extern IntPtr PyUnicode_FromEncodedObject(IntPtr ob, IntPtr enc, IntPtr err);
+ public static extern IntPtr PyUnicode_FromEncodedObject(IntPtr ob, IntPtr enc, IntPtr err);
- internal static IntPtr PyUnicode_FromUnicode(string s, long size)
+ public static IntPtr PyUnicode_FromUnicode(string s, long size)
{
return PyUnicode_FromUnicode(s, new IntPtr(size));
}
@@ -1497,25 +1510,25 @@ private static extern IntPtr PyUnicode_FromUnicode(
IntPtr size
);
- internal static long PyUnicode_GetSize(IntPtr ob)
+ public static long PyUnicode_GetSize(IntPtr ob)
{
return (long) _PyUnicode_GetSize(ob);
}
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl,
EntryPoint = PyUnicodeEntryPoint + "GetSize")]
- internal static extern IntPtr _PyUnicode_GetSize(IntPtr ob);
+ public static extern IntPtr _PyUnicode_GetSize(IntPtr ob);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl,
EntryPoint = PyUnicodeEntryPoint + "AsUnicode")]
- internal static extern IntPtr PyUnicode_AsUnicode(IntPtr ob);
+ public static extern IntPtr PyUnicode_AsUnicode(IntPtr ob);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl,
EntryPoint = PyUnicodeEntryPoint + "FromOrdinal")]
- internal static extern IntPtr PyUnicode_FromOrdinal(int c);
+ public static extern IntPtr PyUnicode_FromOrdinal(int c);
#endif
- internal static IntPtr PyUnicode_FromString(string s)
+ public static IntPtr PyUnicode_FromString(string s)
{
return PyUnicode_FromUnicode(s, s.Length);
}
@@ -1533,7 +1546,7 @@ internal static IntPtr PyUnicode_FromString(string s)
///
/// PyStringType or PyUnicodeType object to convert
/// Managed String
- internal static string GetManagedString(IntPtr op)
+ public static string GetManagedString(IntPtr op)
{
IntPtr type = PyObject_TYPE(op);
@@ -1563,75 +1576,75 @@ internal static string GetManagedString(IntPtr op)
// Python dictionary API
//====================================================================
- internal static bool PyDict_Check(IntPtr ob)
+ public static bool PyDict_Check(IntPtr ob)
{
return PyObject_TYPE(ob) == PyDictType;
}
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyDict_New();
+ public static extern IntPtr PyDict_New();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyDictProxy_New(IntPtr dict);
+ public static extern IntPtr PyDictProxy_New(IntPtr dict);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyDict_GetItem(IntPtr pointer, IntPtr key);
+ public static extern IntPtr PyDict_GetItem(IntPtr pointer, IntPtr key);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyDict_GetItemString(IntPtr pointer, string key);
+ public static extern IntPtr PyDict_GetItemString(IntPtr pointer, string key);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyDict_SetItem(IntPtr pointer, IntPtr key, IntPtr value);
+ public static extern int PyDict_SetItem(IntPtr pointer, IntPtr key, IntPtr value);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyDict_SetItemString(IntPtr pointer, string key, IntPtr value);
+ public static extern int PyDict_SetItemString(IntPtr pointer, string key, IntPtr value);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyDict_DelItem(IntPtr pointer, IntPtr key);
+ public static extern int PyDict_DelItem(IntPtr pointer, IntPtr key);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyDict_DelItemString(IntPtr pointer, string key);
+ public static extern int PyDict_DelItemString(IntPtr pointer, string key);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyMapping_HasKey(IntPtr pointer, IntPtr key);
+ public static extern int PyMapping_HasKey(IntPtr pointer, IntPtr key);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyDict_Keys(IntPtr pointer);
+ public static extern IntPtr PyDict_Keys(IntPtr pointer);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyDict_Values(IntPtr pointer);
+ public static extern IntPtr PyDict_Values(IntPtr pointer);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyDict_Items(IntPtr pointer);
+ public static extern IntPtr PyDict_Items(IntPtr pointer);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyDict_Copy(IntPtr pointer);
+ public static extern IntPtr PyDict_Copy(IntPtr pointer);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyDict_Update(IntPtr pointer, IntPtr other);
+ public static extern int PyDict_Update(IntPtr pointer, IntPtr other);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void PyDict_Clear(IntPtr pointer);
+ public static extern void PyDict_Clear(IntPtr pointer);
- internal static long PyDict_Size(IntPtr pointer)
+ public static long PyDict_Size(IntPtr pointer)
{
return (long) _PyDict_Size(pointer);
}
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl, EntryPoint = "PyDict_Size")]
- internal static extern IntPtr _PyDict_Size(IntPtr pointer);
+ public static extern IntPtr _PyDict_Size(IntPtr pointer);
//====================================================================
// Python list API
//====================================================================
- internal static bool PyList_Check(IntPtr ob)
+ public static bool PyList_Check(IntPtr ob)
{
return PyObject_TYPE(ob) == PyListType;
}
- internal static IntPtr PyList_New(long size)
+ public static IntPtr PyList_New(long size)
{
return PyList_New(new IntPtr(size));
}
@@ -1640,9 +1653,9 @@ internal static IntPtr PyList_New(long size)
private static extern IntPtr PyList_New(IntPtr size);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyList_AsTuple(IntPtr pointer);
+ public static extern IntPtr PyList_AsTuple(IntPtr pointer);
- internal static IntPtr PyList_GetItem(IntPtr pointer, long index)
+ public static IntPtr PyList_GetItem(IntPtr pointer, long index)
{
return PyList_GetItem(pointer, new IntPtr(index));
}
@@ -1650,7 +1663,7 @@ internal static IntPtr PyList_GetItem(IntPtr pointer, long index)
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr PyList_GetItem(IntPtr pointer, IntPtr index);
- internal static int PyList_SetItem(IntPtr pointer, long index, IntPtr value)
+ public static int PyList_SetItem(IntPtr pointer, long index, IntPtr value)
{
return PyList_SetItem(pointer, new IntPtr(index), value);
}
@@ -1658,7 +1671,7 @@ internal static int PyList_SetItem(IntPtr pointer, long index, IntPtr value)
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
private static extern int PyList_SetItem(IntPtr pointer, IntPtr index, IntPtr value);
- internal static int PyList_Insert(IntPtr pointer, long index, IntPtr value)
+ public static int PyList_Insert(IntPtr pointer, long index, IntPtr value)
{
return PyList_Insert(pointer, new IntPtr(index), value);
}
@@ -1667,15 +1680,15 @@ internal static int PyList_Insert(IntPtr pointer, long index, IntPtr value)
private static extern int PyList_Insert(IntPtr pointer, IntPtr index, IntPtr value);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyList_Append(IntPtr pointer, IntPtr value);
+ public static extern int PyList_Append(IntPtr pointer, IntPtr value);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyList_Reverse(IntPtr pointer);
+ public static extern int PyList_Reverse(IntPtr pointer);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyList_Sort(IntPtr pointer);
+ public static extern int PyList_Sort(IntPtr pointer);
- internal static IntPtr PyList_GetSlice(IntPtr pointer, long start, long end)
+ public static IntPtr PyList_GetSlice(IntPtr pointer, long start, long end)
{
return PyList_GetSlice(pointer, new IntPtr(start), new IntPtr(end));
}
@@ -1683,7 +1696,7 @@ internal static IntPtr PyList_GetSlice(IntPtr pointer, long start, long end)
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr PyList_GetSlice(IntPtr pointer, IntPtr start, IntPtr end);
- internal static int PyList_SetSlice(IntPtr pointer, long start, long end, IntPtr value)
+ public static int PyList_SetSlice(IntPtr pointer, long start, long end, IntPtr value)
{
return PyList_SetSlice(pointer, new IntPtr(start), new IntPtr(end), value);
}
@@ -1691,7 +1704,7 @@ internal static int PyList_SetSlice(IntPtr pointer, long start, long end, IntPtr
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
private static extern int PyList_SetSlice(IntPtr pointer, IntPtr start, IntPtr end, IntPtr value);
- internal static long PyList_Size(IntPtr pointer)
+ public static long PyList_Size(IntPtr pointer)
{
return (long) _PyList_Size(pointer);
}
@@ -1703,12 +1716,12 @@ internal static long PyList_Size(IntPtr pointer)
// Python tuple API
//====================================================================
- internal static bool PyTuple_Check(IntPtr ob)
+ public static bool PyTuple_Check(IntPtr ob)
{
return PyObject_TYPE(ob) == PyTupleType;
}
- internal static IntPtr PyTuple_New(long size)
+ public static IntPtr PyTuple_New(long size)
{
return PyTuple_New(new IntPtr(size));
}
@@ -1716,7 +1729,7 @@ internal static IntPtr PyTuple_New(long size)
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr PyTuple_New(IntPtr size);
- internal static IntPtr PyTuple_GetItem(IntPtr pointer, long index)
+ public static IntPtr PyTuple_GetItem(IntPtr pointer, long index)
{
return PyTuple_GetItem(pointer, new IntPtr(index));
}
@@ -1724,7 +1737,7 @@ internal static IntPtr PyTuple_GetItem(IntPtr pointer, long index)
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr PyTuple_GetItem(IntPtr pointer, IntPtr index);
- internal static int PyTuple_SetItem(IntPtr pointer, long index, IntPtr value)
+ public static int PyTuple_SetItem(IntPtr pointer, long index, IntPtr value)
{
return PyTuple_SetItem(pointer, new IntPtr(index), value);
}
@@ -1732,7 +1745,7 @@ internal static int PyTuple_SetItem(IntPtr pointer, long index, IntPtr value)
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
private static extern int PyTuple_SetItem(IntPtr pointer, IntPtr index, IntPtr value);
- internal static IntPtr PyTuple_GetSlice(IntPtr pointer, long start, long end)
+ public static IntPtr PyTuple_GetSlice(IntPtr pointer, long start, long end)
{
return PyTuple_GetSlice(pointer, new IntPtr(start), new IntPtr(end));
}
@@ -1740,7 +1753,7 @@ internal static IntPtr PyTuple_GetSlice(IntPtr pointer, long start, long end)
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr PyTuple_GetSlice(IntPtr pointer, IntPtr start, IntPtr end);
- internal static long PyTuple_Size(IntPtr pointer)
+ public static long PyTuple_Size(IntPtr pointer)
{
return (long) _PyTuple_Size(pointer);
}
@@ -1753,7 +1766,7 @@ internal static long PyTuple_Size(IntPtr pointer)
// Python iterator API
//====================================================================
- internal static bool PyIter_Check(IntPtr pointer)
+ public static bool PyIter_Check(IntPtr pointer)
{
var ob_type = Marshal.ReadIntPtr(pointer, ObjectOffset.ob_type);
#if PYTHON2
@@ -1766,7 +1779,7 @@ internal static bool PyIter_Check(IntPtr pointer)
}
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyIter_Next(IntPtr pointer);
+ public static extern IntPtr PyIter_Next(IntPtr pointer);
//====================================================================
@@ -1774,47 +1787,47 @@ internal static bool PyIter_Check(IntPtr pointer)
//====================================================================
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyModule_New(string name);
+ public static extern IntPtr PyModule_New(string name);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern string PyModule_GetName(IntPtr module);
+ public static extern string PyModule_GetName(IntPtr module);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyModule_GetDict(IntPtr module);
+ public static extern IntPtr PyModule_GetDict(IntPtr module);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern string PyModule_GetFilename(IntPtr module);
+ public static extern string PyModule_GetFilename(IntPtr module);
#if PYTHON3
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyModule_Create2(IntPtr module, int apiver);
+ public static extern IntPtr PyModule_Create2(IntPtr module, int apiver);
#endif
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyImport_Import(IntPtr name);
+ public static extern IntPtr PyImport_Import(IntPtr name);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyImport_ImportModule(string name);
+ public static extern IntPtr PyImport_ImportModule(string name);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyImport_ReloadModule(IntPtr module);
+ public static extern IntPtr PyImport_ReloadModule(IntPtr module);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyImport_AddModule(string name);
+ public static extern IntPtr PyImport_AddModule(string name);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyImport_GetModuleDict();
+ public static extern IntPtr PyImport_GetModuleDict();
#if PYTHON3
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void PySys_SetArgvEx(
+ public static extern void PySys_SetArgvEx(
int argc,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(StrArrayMarshaler))] string[] argv,
int updatepath
);
#elif PYTHON2
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void PySys_SetArgvEx(
+ public static extern void PySys_SetArgvEx(
int argc,
string[] argv,
int updatepath
@@ -1822,37 +1835,37 @@ int updatepath
#endif
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PySys_GetObject(string name);
+ public static extern IntPtr PySys_GetObject(string name);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PySys_SetObject(string name, IntPtr ob);
+ public static extern int PySys_SetObject(string name, IntPtr ob);
//====================================================================
// Python type object API
//====================================================================
- internal static bool PyType_Check(IntPtr ob)
+ public static bool PyType_Check(IntPtr ob)
{
return PyObject_TypeCheck(ob, PyTypeType);
}
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void PyType_Modified(IntPtr type);
+ public static extern void PyType_Modified(IntPtr type);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern bool PyType_IsSubtype(IntPtr t1, IntPtr t2);
+ public static extern bool PyType_IsSubtype(IntPtr t1, IntPtr t2);
- internal static bool PyObject_TypeCheck(IntPtr ob, IntPtr tp)
+ public static bool PyObject_TypeCheck(IntPtr ob, IntPtr tp)
{
IntPtr t = PyObject_TYPE(ob);
return (t == tp) || PyType_IsSubtype(t, tp);
}
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyType_GenericNew(IntPtr type, IntPtr args, IntPtr kw);
+ public static extern IntPtr PyType_GenericNew(IntPtr type, IntPtr args, IntPtr kw);
- internal static IntPtr PyType_GenericAlloc(IntPtr type, long n)
+ public static IntPtr PyType_GenericAlloc(IntPtr type, long n)
{
return PyType_GenericAlloc(type, new IntPtr(n));
}
@@ -1861,38 +1874,38 @@ internal static IntPtr PyType_GenericAlloc(IntPtr type, long n)
private static extern IntPtr PyType_GenericAlloc(IntPtr type, IntPtr n);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyType_Ready(IntPtr type);
+ public static extern int PyType_Ready(IntPtr type);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr _PyType_Lookup(IntPtr type, IntPtr name);
+ public static extern IntPtr _PyType_Lookup(IntPtr type, IntPtr name);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyObject_GenericGetAttr(IntPtr obj, IntPtr name);
+ public static extern IntPtr PyObject_GenericGetAttr(IntPtr obj, IntPtr name);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyObject_GenericSetAttr(IntPtr obj, IntPtr name, IntPtr value);
+ public static extern int PyObject_GenericSetAttr(IntPtr obj, IntPtr name, IntPtr value);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr _PyObject_GetDictPtr(IntPtr obj);
+ public static extern IntPtr _PyObject_GetDictPtr(IntPtr obj);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyObject_GC_New(IntPtr tp);
+ public static extern IntPtr PyObject_GC_New(IntPtr tp);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void PyObject_GC_Del(IntPtr tp);
+ public static extern void PyObject_GC_Del(IntPtr tp);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void PyObject_GC_Track(IntPtr tp);
+ public static extern void PyObject_GC_Track(IntPtr tp);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void PyObject_GC_UnTrack(IntPtr tp);
+ public static extern void PyObject_GC_UnTrack(IntPtr tp);
//====================================================================
// Python memory API
//====================================================================
- internal static IntPtr PyMem_Malloc(long size)
+ public static IntPtr PyMem_Malloc(long size)
{
return PyMem_Malloc(new IntPtr(size));
}
@@ -1900,7 +1913,7 @@ internal static IntPtr PyMem_Malloc(long size)
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr PyMem_Malloc(IntPtr size);
- internal static IntPtr PyMem_Realloc(IntPtr ptr, long size)
+ public static IntPtr PyMem_Realloc(IntPtr ptr, long size)
{
return PyMem_Realloc(ptr, new IntPtr(size));
}
@@ -1909,7 +1922,7 @@ internal static IntPtr PyMem_Realloc(IntPtr ptr, long size)
private static extern IntPtr PyMem_Realloc(IntPtr ptr, IntPtr size);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void PyMem_Free(IntPtr ptr);
+ public static extern void PyMem_Free(IntPtr ptr);
//====================================================================
@@ -1917,40 +1930,40 @@ internal static IntPtr PyMem_Realloc(IntPtr ptr, long size)
//====================================================================
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void PyErr_SetString(IntPtr ob, string message);
+ public static extern void PyErr_SetString(IntPtr ob, string message);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void PyErr_SetObject(IntPtr ob, IntPtr message);
+ public static extern void PyErr_SetObject(IntPtr ob, IntPtr message);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyErr_SetFromErrno(IntPtr ob);
+ public static extern IntPtr PyErr_SetFromErrno(IntPtr ob);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void PyErr_SetNone(IntPtr ob);
+ public static extern void PyErr_SetNone(IntPtr ob);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyErr_ExceptionMatches(IntPtr exception);
+ public static extern int PyErr_ExceptionMatches(IntPtr exception);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int PyErr_GivenExceptionMatches(IntPtr ob, IntPtr val);
+ public static extern int PyErr_GivenExceptionMatches(IntPtr ob, IntPtr val);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void PyErr_NormalizeException(IntPtr ob, IntPtr val, IntPtr tb);
+ public static extern void PyErr_NormalizeException(IntPtr ob, IntPtr val, IntPtr tb);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyErr_Occurred();
+ public static extern IntPtr PyErr_Occurred();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void PyErr_Fetch(ref IntPtr ob, ref IntPtr val, ref IntPtr tb);
+ public static extern void PyErr_Fetch(ref IntPtr ob, ref IntPtr val, ref IntPtr tb);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void PyErr_Restore(IntPtr ob, IntPtr val, IntPtr tb);
+ public static extern void PyErr_Restore(IntPtr ob, IntPtr val, IntPtr tb);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void PyErr_Clear();
+ public static extern void PyErr_Clear();
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void PyErr_Print();
+ public static extern void PyErr_Print();
//====================================================================
@@ -1958,15 +1971,15 @@ internal static IntPtr PyMem_Realloc(IntPtr ptr, long size)
//====================================================================
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyMethod_Self(IntPtr ob);
+ public static extern IntPtr PyMethod_Self(IntPtr ob);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr PyMethod_Function(IntPtr ob);
+ public static extern IntPtr PyMethod_Function(IntPtr ob);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int Py_AddPendingCall(IntPtr func, IntPtr arg);
+ public static extern int Py_AddPendingCall(IntPtr func, IntPtr arg);
[DllImport(_PythonDll, CallingConvention = CallingConvention.Cdecl)]
- internal static extern int Py_MakePendingCalls();
+ public static extern int Py_MakePendingCalls();
}
}
diff --git a/src/runtime/typemanager.cs b/src/runtime/typemanager.cs
index a260e8dfa..663cab417 100644
--- a/src/runtime/typemanager.cs
+++ b/src/runtime/typemanager.cs
@@ -10,7 +10,7 @@ namespace Python.Runtime
/// The TypeManager class is responsible for building binary-compatible
/// Python type objects that are implemented in managed code.
///
- internal class TypeManager
+ public class TypeManager
{
private static BindingFlags tbFlags;
private static Dictionary cache;
@@ -483,7 +483,7 @@ internal static IntPtr AllocateTypeObject(string name)
/// And then analyzing the resulting functions with a hex editor, e.g.:
/// objdump -disassemble foo.o
///
- internal class NativeCode
+ public class NativeCode
{
///
/// The code, as a string of bytes.
@@ -583,7 +583,7 @@ public static NativeCode Active
///
/// Platform-dependent mmap and mprotect.
///
- internal interface IMemoryMapper
+ public interface IMemoryMapper
{
///
/// Map at least numBytes of memory. Mark the page read-write (but not exec).
@@ -664,7 +664,7 @@ public void SetReadExec(IntPtr mappedMemory, int numBytes)
}
}
- internal static IMemoryMapper CreateMemoryMapper()
+ public static IMemoryMapper CreateMemoryMapper()
{
switch (Runtime.OperatingSystem)
{
diff --git a/src/testing/Python.Test.15.csproj b/src/testing/Python.Test.15.csproj
deleted file mode 100644
index 8c23fe4b5..000000000
--- a/src/testing/Python.Test.15.csproj
+++ /dev/null
@@ -1,86 +0,0 @@
-
-
-
- net40;netstandard2.0
- x64;x86
- DebugMono;DebugMonoPY3;ReleaseMono;ReleaseMonoPY3;DebugWin;DebugWinPY3;ReleaseWin;ReleaseWinPY3
- Python.Test
- Python.Test
- Python.Test
- 2.4.1
- bin\
- false
- $(OutputPath)\$(AssemblyName).xml
- $(OutputPath)\$(TargetFramework)\$(AssemblyName).xml
- 1591,0067
- ..\..\
- $(SolutionDir)\bin\
- $(PythonBuildDir)\$(TargetFramework)\
- 6
- false
- ..\pythonnet.snk
- prompt
- $(PYTHONNET_DEFINE_CONSTANTS)
- XPLAT
- $(DefineConstants);$(CustomDefineConstants);$(BaseDefineConstants);
- $(DefineConstants);TRACE;DEBUG
- $(NuGetPackageRoot)\microsoft.targetingpack.netframework.v4.5\1.0.1\lib\net45\
-
-
- x86
-
-
- x64
-
-
-
- false
- full
-
-
- true
- pdbonly
-
-
- true
- false
- full
-
-
- true
- true
- portable
-
-
-
- $(DefineConstants);DEBUG;TRACE
-
-
- $(DefineConstants)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $(TargetPath)
- $(TargetDir)$(TargetName).pdb
-
-
-
-
-
-
-
diff --git a/src/testing/Python.Test.csproj b/src/testing/Python.Test.csproj
index 27639ed5a..005e09734 100644
--- a/src/testing/Python.Test.csproj
+++ b/src/testing/Python.Test.csproj
@@ -1,114 +1,15 @@
-
-
+
+
- Debug
- AnyCPU
- {6F401A34-273B-450F-9A4C-13550BE0767B}
- Library
- Python.Test
- Python.Test
- bin\Python.Test.xml
- bin\
- v4.0
-
- 1591,0067
- ..\..\
- $(SolutionDir)\bin\
- 6
- false
- ..\pythonnet.snk
- prompt
-
-
- x86
-
-
- x64
-
-
- true
- DEBUG;TRACE
- full
-
-
-
-
- true
- pdbonly
-
-
- true
- DEBUG;TRACE
- full
-
-
-
-
- true
- pdbonly
-
-
- true
- DEBUG;TRACE
- full
-
-
-
-
- true
- pdbonly
-
-
- true
- DEBUG;TRACE
- full
-
-
-
-
- true
- pdbonly
+ netstandard2.0
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+
-
-
- {097B4AC0-74E9-4C58-BCF8-C69746EC8271}
- Python.Runtime
-
-
-
-
- $(TargetPath)
- $(TargetDir)$(TargetName).pdb
-
-
-
-
-
-
\ No newline at end of file
+
+