diff --git a/c_test/c_test.vcxproj b/c_test/c_test.vcxproj
index 89d7df43655..04a0d6e1388 100644
--- a/c_test/c_test.vcxproj
+++ b/c_test/c_test.vcxproj
@@ -1,14 +1,6 @@
-
- DebugLeakCheck
- Win32
-
-
- DebugLeakCheck
- x64
-
Debug
Win32
@@ -35,38 +27,13 @@
true
-
- Application
- true
- MultiByte
- v140
-
-
- Application
- true
- MultiByte
- v140
-
-
- Application
- true
- MultiByte
- v140
-
-
+
Application
true
MultiByte
v140
-
- Application
- false
- true
- MultiByte
- v140
-
-
+
Application
false
true
@@ -79,15 +46,9 @@
-
-
-
-
-
-
@@ -95,69 +56,13 @@
-
- $(SolutionDir)dll\$(Platform)\$(ConfigurationName);$(LibraryPath)
- $(ProjectDir)Bin\$(Platform)\$(Configuration)\
+
+
+ $(SolutionDir)out\target\$(Configuration)\$(PlatformShortName)\
+ $(SolutionDir)out\int\$(Configuration)\$(PlatformShortName)\$(ProjectName)\
-
- $(SolutionDir)dll\$(Platform)\$(ConfigurationName);$(LibraryPath)
- $(ProjectDir)Bin\$(Platform)\$(Configuration)\
-
-
- $(ProjectDir)Bin\$(Platform)\$(Configuration)\
-
-
- $(ProjectDir)Bin\$(Platform)\$(Configuration)\
-
-
- $(ProjectDir)Bin\$(Platform)\$(Configuration)\
-
-
- $(ProjectDir)Bin\$(Platform)\$(Configuration)\
-
-
-
- Level3
- Disabled
- $(SolutionDir);%(AdditionalIncludeDirectories)
-
-
- true
- $(SolutionDir)dll\$(PlatformShortName)\$(ConfigurationName)\libvw.lib;%(AdditionalDependencies)
-
-
- xcopy /y/d $(SolutionDir)dll\$(PlatformShortName)\$(ConfigurationName)\libvw.* $(TargetDir)
-
-
-
-
- Level3
- Disabled
- $(SolutionDir);%(AdditionalIncludeDirectories)
-
-
- true
- $(SolutionDir)dll\$(PlatformShortName)\$(ConfigurationName)\libvw.lib;%(AdditionalDependencies)
-
-
- xcopy /y/d $(SolutionDir)dll\$(PlatformShortName)\$(ConfigurationName)\libvw.* $(TargetDir)
-
-
-
-
- Level3
- Disabled
- $(SolutionDir);%(AdditionalIncludeDirectories)
-
-
- true
- $(SolutionDir)dll\$(Platform)\$(ConfigurationName)\libvw.lib;%(AdditionalDependencies)
-
-
- xcopy /y/d $(SolutionDir)dll\$(PlatformShortName)\$(ConfigurationName)\libvw.* $(TargetDir)
-
-
-
+
+
Level3
Disabled
@@ -165,13 +70,11 @@
true
- $(SolutionDir)dll\$(Platform)\$(ConfigurationName)\libvw.lib;%(AdditionalDependencies)
+ $(SolutionDir)out\target\$(Configuration)\$(PlatformShortName)\libvw.lib;%(AdditionalDependencies)
-
- xcopy /y/d $(SolutionDir)dll\$(PlatformShortName)\$(ConfigurationName)\libvw.* $(TargetDir)
-
-
+
+
Level3
MaxSpeed
@@ -183,33 +86,20 @@
true
true
true
- $(SolutionDir)dll\$(PlatformShortName)\$(ConfigurationName)\libvw.lib;%(AdditionalDependencies)
+ $(SolutionDir)out\target\$(Configuration)\$(PlatformShortName)\libvw.lib;%(AdditionalDependencies)
-
- xcopy /y/d $(SolutionDir)dll\$(PlatformShortName)\$(ConfigurationName)\libvw.* $(TargetDir)
-
-
-
-
- Level3
- MaxSpeed
- true
- true
- $(SolutionDir);%(AdditionalIncludeDirectories)
-
-
- true
- true
- true
- $(SolutionDir)dll\$(Platform)\$(Configuration)\libvw.lib;%(AdditionalDependencies)
-
-
- xcopy /y/d $(SolutionDir)dll\$(PlatformName)\$(ConfigurationName)\libvw.* $(TargetDir)
-
+
+
+
+
+ {1e205806-7f80-47dd-a38d-fc08083f3593}
+
+
+
diff --git a/cluster/cluster.vcxproj b/cluster/cluster.vcxproj
index a9c38d5a1d6..5d7b0cfa31e 100755
--- a/cluster/cluster.vcxproj
+++ b/cluster/cluster.vcxproj
@@ -263,7 +263,6 @@
-
diff --git a/cs/cli/cs_vld.vcxproj b/cs/cli/cs_vld.vcxproj
deleted file mode 100644
index 5192f41fb0c..00000000000
--- a/cs/cli/cs_vld.vcxproj
+++ /dev/null
@@ -1,155 +0,0 @@
-
-
-
-
- DebugLeakCheck
- x64
-
-
- Debug
- x64
-
-
- Release
- x64
-
-
-
- {3D57A6AF-DE8C-40DC-ABDE-E4CE1B9C0D20}
- v4.5.2
- ManagedCProj
- cs_vld
- ..\vowpalwabbit\
-
- ..\..\sdl\SDL-7.0-Recommended.ruleset
- true
-
-
-
- DynamicLibrary
- true
- v140
- true
- Unicode
-
-
- DynamicLibrary
- true
- v140
- true
- Unicode
- true
-
-
- DynamicLibrary
- false
- v140
- true
- Unicode
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- $(Platform)\$(Configuration)\$(ProjectName)\
-
-
- true
- $(Platform)\$(Configuration)\$(ProjectName)\
-
-
- false
- $(Platform)\$(Configuration)\$(ProjectName)\
-
-
-
- Level3
- Disabled
- WIN32;_DEBUG;%(PreprocessorDefinitions)
- NotUsing
- %(AdditionalIncludeDirectories)
-
-
- true
-
-
- %(AdditionalLibraryDirectories)
-
-
- %(AdditionalManifestFiles)
-
-
-
-
- Level3
- Disabled
- LEAKCHECK;WIN32;_DEBUG;%(PreprocessorDefinitions)
- NotUsing
- %(AdditionalIncludeDirectories)
-
-
- true
-
-
- %(AdditionalLibraryDirectories)
-
-
- %(AdditionalManifestFiles)
-
-
-
-
- Level3
- WIN32;NDEBUG;%(PreprocessorDefinitions)
- NotUsing
- %(AdditionalIncludeDirectories)
-
-
- true
-
-
- %(AdditionalLibraryDirectories)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/cs/cli/cs_vld.vcxproj.filters b/cs/cli/cs_vld.vcxproj.filters
deleted file mode 100644
index 52465ace64a..00000000000
--- a/cs/cli/cs_vld.vcxproj.filters
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
- {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
- cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
-
-
- {93995380-89BD-4b04-88EB-625FBE52EBFB}
- h;hh;hpp;hxx;hm;inl;inc;xsd
-
-
- {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
- rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
-
-
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
-
-
\ No newline at end of file
diff --git a/cs/cli/packages.config b/cs/cli/packages.config
index 90c9ae83116..eb6462cd037 100644
--- a/cs/cli/packages.config
+++ b/cs/cli/packages.config
@@ -1,5 +1,4 @@
-
\ No newline at end of file
diff --git a/cs/cli/vld_clr.cpp b/cs/cli/vld_clr.cpp
deleted file mode 100644
index 3c07d374992..00000000000
--- a/cs/cli/vld_clr.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-#include "vld_clr.h"
-
-namespace VLD
-{
-int VldReportHook(int reportType, wchar_t *message, int *returnValue)
-{ auto msg = gcnew String(message);
- System::Diagnostics::Debug::Write(msg);
-
- if (VisualLeakDetector::Instance)
- VisualLeakDetector::Instance->ReportInternal(reportType, msg);
-
- *returnValue = 0; /* don't debug break */
- return 1; /* handled */
-}
-
-VisualLeakDetector::VisualLeakDetector() : m_messages(gcnew List^>)
-{ if (Instance != nullptr)
- { throw gcnew NotSupportedException("Only a single instance is supported.");
- }
-
- Instance = this;
-
- VLDSetReportHook(VLD_RPTHOOK_INSTALL, VldReportHook);
-}
-
-VisualLeakDetector::~VisualLeakDetector()
-{ this->!VisualLeakDetector();
-}
-
-VisualLeakDetector::!VisualLeakDetector()
-{ VLDSetReportHook(VLD_RPTHOOK_REMOVE, VldReportHook);
- Instance = nullptr;
-}
-
-void VisualLeakDetector::ReportInternal(int reportType, String^ msg)
-{ m_messages->Add(Tuple::Create(reportType, msg));
-}
-
-void VisualLeakDetector::ReportLeaks()
-{ VLDReportLeaks();
-}
-
-List^>^ VisualLeakDetector::Messages::get()
-{ return m_messages;
-}
-
-void VisualLeakDetector::MarkAllLeaksAsReported()
-{ VLDMarkAllLeaksAsReported();
-}
-}
diff --git a/cs/cli/vld_clr.h b/cs/cli/vld_clr.h
deleted file mode 100644
index eceef50c096..00000000000
--- a/cs/cli/vld_clr.h
+++ /dev/null
@@ -1,37 +0,0 @@
-#include
-
-#include
-
-using namespace System;
-using namespace System::Collections::Generic;
-using namespace System::Runtime::InteropServices;
-
-namespace VLD
-{
-int VldReportHook(int reportType, wchar_t *message, int *returnValue);
-
-public ref class VisualLeakDetector
-{
-private:
- initonly List^>^ m_messages;
-
- !VisualLeakDetector();
-
-public:
- VisualLeakDetector();
-
- ~VisualLeakDetector();
-
- static VisualLeakDetector^ Instance;
-
- void ReportInternal(int reportType, String^ msg);
-
- property List^>^ Messages
- { List^>^ get();
- }
-
- void ReportLeaks();
-
- void MarkAllLeaksAsReported();
-};
-}
diff --git a/cs/cli/vowpalwabbit.h b/cs/cli/vowpalwabbit.h
index 1b4ba3e70ce..f11ff8aa27c 100644
--- a/cs/cli/vowpalwabbit.h
+++ b/cs/cli/vowpalwabbit.h
@@ -1,4 +1,4 @@
-/*
+/*
Copyright (c) by respective owners including Yahoo!, Microsoft, and
individual contributors. All rights reserved. Released under a BSD (revised)
license as described in the file LICENSE.
@@ -45,7 +45,7 @@ public ref class VowpalWabbit : VowpalWabbitBase, IVowpalWabbitExamplePool
///
///
/// This is used to emit empty lines to cache while handling multiline examples.
- /// Used internally by Learn(IEnumerable lines)
+ /// Used internally by Learn(IEnumerable<String> lines)
///
void CacheEmptyLine();
diff --git a/cs/cli/vw_clr.vcxproj b/cs/cli/vw_clr.vcxproj
index 62d99b608ba..5310a1d50b6 100644
--- a/cs/cli/vw_clr.vcxproj
+++ b/cs/cli/vw_clr.vcxproj
@@ -1,14 +1,6 @@
-
- DebugLeakCheck
- Win32
-
-
- DebugLeakCheck
- x64
-
Debug
Win32
@@ -36,43 +28,14 @@
true
-
+
DynamicLibrary
true
v140
true
Unicode
-
- DynamicLibrary
- true
- v140
- true
- Unicode
-
-
- DynamicLibrary
- true
- v140
- true
- Unicode
-
-
- DynamicLibrary
- true
- v140
- true
- Unicode
- true
-
-
- DynamicLibrary
- false
- v140
- true
- Unicode
-
-
+
DynamicLibrary
false
v140
@@ -89,15 +52,9 @@
-
-
-
-
-
-
@@ -105,82 +62,30 @@
-
- true
- ..\vw_key.snk
-
-
+
true
- ..\vw_key.snk
-
-
- false
VowpalWabbit.Core
false
..\vw_key.snk
- $(Platform)\$(Configuration)\$(ProjectName)\
-
- true
- VowpalWabbit.Core
- false
- ..\vw_key.snk
- $(Platform)\$(Configuration)\$(ProjectName)\
-
-
-
- false
- ..\vw_key.snk
-
-
+
false
VowpalWabbit.Core
..\vw_key.snk
- $(Platform)\$(Configuration)\$(ProjectName)\
-
-
- Level3
- Disabled
- WIN32;_DEBUG;%(PreprocessorDefinitions)
- NotUsing
- $(SolutionDir)win32;$(ProjectDir)\..\..\vowpalwabbit;%(AdditionalIncludeDirectories);$(ProjectDir)\..\..\rapidjson\include;$(ProjectDir)\..\..\explore
-
-
- true
- $(BoostLibDir);%(AdditionalLibraryDirectories)
- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;$(SolutionDir)$(PlatformShortName)\$(Configuration)\vw_dynamic.lib;%(AdditionalDependencies)
-
-
-
-
-
-
-
-
- Level3
- Disabled
- WIN32;_DEBUG;%(PreprocessorDefinitions)
- NotUsing
- $(SolutionDir)win32;$(ProjectDir)\..\..\vowpalwabbit;%(AdditionalIncludeDirectories);$(ProjectDir)\..\..\rapidjson\include;$(ProjectDir)\..\..\explore
-
-
- true
- $(BoostLibDir);%(AdditionalLibraryDirectories)
- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;$(SolutionDir)$(PlatformShortName)\$(Configuration)\vw_dynamic.lib;%(AdditionalDependencies)
-
-
-
-
-
-
-
+
+
+ $(SolutionDir)out\target\$(Configuration)\$(PlatformShortName)\
+ $(SolutionDir)out\int\$(Configuration)\$(PlatformShortName)\$(ProjectName)\
+
+
+
Level3
Disabled
@@ -205,48 +110,7 @@
-
-
- Level3
- Disabled
- WIN32;_DEBUG;%(PreprocessorDefinitions)
- NotUsing
- $(SolutionDir)win32;$(ProjectDir)\..\..\vowpalwabbit;%(AdditionalIncludeDirectories);$(ProjectDir)\..\..\rapidjson\include;$(ProjectDir)\..\..\explore
- true
- $(OutDir)$(TargetName).pdb
- false
- true
- false
-
-
- true
- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;%(AdditionalDependencies)
-
-
-
-
-
-
-
-
-
-
- Level3
- WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
- NotUsing
- $(SolutionDir)win32;$(ProjectDir)\..\..\vowpalwabbit;%(AdditionalIncludeDirectories);$(ProjectDir)\..\..\rapidjson\include;$(ProjectDir)\..\..\explore
-
-
- true
- $(BoostLibDir);%(AdditionalLibraryDirectories)
- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;$(SolutionDir)$(PlatformShortName)\$(Configuration)\vw_dynamic.lib;%(AdditionalDependencies)
-
-
-
-
-
-
-
+
Level3
WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
@@ -314,7 +178,7 @@
-
+
{1e205806-7f80-47dd-a38d-fc08083f3593}
@@ -332,7 +196,6 @@
-
diff --git a/cs/common/vw_common.csproj b/cs/common/vw_common.csproj
index 8eeb318e708..673cd33b7d3 100644
--- a/cs/common/vw_common.csproj
+++ b/cs/common/vw_common.csproj
@@ -15,6 +15,9 @@
+ $(SolutionDir)out\target\$(Configuration)\$(PlatformShortName)\
+ $(SolutionDir)out\int\$(Configuration)\$(PlatformShortName)\$(ProjectName)\
+ $(OutputPath)\$(AssemblyName).XML
true
@@ -24,7 +27,6 @@
true
- $(SolutionDir)\x64\Debug\
DEBUG;TRACE
full
x64
@@ -73,26 +75,14 @@
Full
%28none%29
0
- ..\..\vowpalwabbit\x64\Debug\VowpalWabbit.Common.XML
- $(SolutionDir)\x64\Release\
TRACE
true
pdbonly
x64
prompt
MinimumRecommendedRules.ruleset
- ..\..\vowpalwabbit\x64\Release\VowpalWabbit.Common.XML
-
-
- true
- ..\..\vowpalwabbit\x64\DebugLeakCheck\
- DEBUG;TRACE
- full
- x64
- prompt
- MinimumRecommendedRules.ruleset
diff --git a/cs/cs/cs.csproj b/cs/cs/cs.csproj
index 3f3207d9d40..8b7e73a53e3 100644
--- a/cs/cs/cs.csproj
+++ b/cs/cs/cs.csproj
@@ -4,7 +4,7 @@
Debug
- AnyCPU
+ x64
{E4E962AE-7056-4EB0-A8C5-8DC824A4B068}
Library
Properties
@@ -19,16 +19,17 @@
0
+ $(SolutionDir)out\target\$(Configuration)\$(PlatformShortName)\
+ $(SolutionDir)out\int\$(Configuration)\$(PlatformShortName)\$(ProjectName)\
+ $(OutputPath)\$(AssemblyName).XML
true
- $(SolutionDir)\x64\Debug\
TRACE;DEBUG
full
x64
prompt
MinimumRecommendedRules.ruleset
- ..\..\vowpalwabbit\x64\Debug\VowpalWabbit.XML
True
False
True
@@ -75,14 +76,12 @@
true
- $(SolutionDir)\x64\Release\
TRACE
true
pdbonly
x64
prompt
MinimumRecommendedRules.ruleset
- ..\..\vowpalwabbit\x64\Release\VowpalWabbit.XML
true
@@ -91,17 +90,6 @@
..\vw_key.snk
-
- true
- $(SolutionDir)\x64\DebugLeakCheck\
- TRACE;DEBUG
- true
- $(SolutionDir)\x64\DebugLeakCheck\VowpalWabbit.XML
- full
- x64
- prompt
- MinimumRecommendedRules.ruleset
-
diff --git a/cs/cs_console/cs_console.csproj b/cs/cs_console/cs_console.csproj
index cf841c30f2f..16e240c617a 100644
--- a/cs/cs_console/cs_console.csproj
+++ b/cs/cs_console/cs_console.csproj
@@ -15,6 +15,8 @@
+ $(SolutionDir)out\target\$(Configuration)\$(PlatformShortName)\
+ $(SolutionDir)out\int\$(Configuration)\$(PlatformShortName)\$(ProjectName)\
true
@@ -24,7 +26,6 @@
true
- $(SolutionDir)\x64\Debug\
DEBUG;TRACE
full
x64
@@ -33,7 +34,6 @@
true
- $(SolutionDir)\x64\Release\
TRACE
true
pdbonly
diff --git a/cs/cs_json/cs_json.csproj b/cs/cs_json/cs_json.csproj
index 93604af3f6d..a7e506ab6d1 100644
--- a/cs/cs_json/cs_json.csproj
+++ b/cs/cs_json/cs_json.csproj
@@ -15,26 +15,25 @@
+ $(SolutionDir)out\target\$(Configuration)\$(PlatformShortName)\
+ $(SolutionDir)out\int\$(Configuration)\$(PlatformShortName)\$(ProjectName)\
+ $(OutputPath)\$(AssemblyName).XML
true
- ..\..\vowpalwabbit\x64\Debug\
DEBUG;TRACE
full
x64
prompt
MinimumRecommendedRules.ruleset
- ..\..\vowpalwabbit\x64\Debug\VowpalWabbit.JSON.XML
- ..\..\vowpalwabbit\x64\Release\
TRACE
true
pdbonly
x64
prompt
MinimumRecommendedRules.ruleset
- ..\..\vowpalwabbit\x64\Release\VowpalWabbit.JSON.XML
true
diff --git a/cs/cs_parallel/cs_parallel.csproj b/cs/cs_parallel/cs_parallel.csproj
index 12684859747..4af72b203f2 100644
--- a/cs/cs_parallel/cs_parallel.csproj
+++ b/cs/cs_parallel/cs_parallel.csproj
@@ -15,26 +15,25 @@
+ $(SolutionDir)out\target\$(Configuration)\$(PlatformShortName)\
+ $(SolutionDir)out\int\$(Configuration)\$(PlatformShortName)\$(ProjectName)\
+ $(OutputPath)\$(AssemblyName).XML
true
- ..\..\vowpalwabbit\x64\Debug\
DEBUG;TRACE
full
x64
prompt
MinimumRecommendedRules.ruleset
- ..\..\vowpalwabbit\x64\Debug\VowpalWabbit.Parallel.XML
- ..\..\vowpalwabbit\x64\Release\
TRACE
true
pdbonly
x64
prompt
MinimumRecommendedRules.ruleset
- ..\..\vowpalwabbit\x64\Release\VowpalWabbit.Parallel.XML
true
diff --git a/cs/cs_unittest_nofriend/cs_unittest_nofriend.csproj b/cs/cs_unittest_nofriend/cs_unittest_nofriend.csproj
index 3ff48d493b3..8683cc8f850 100644
--- a/cs/cs_unittest_nofriend/cs_unittest_nofriend.csproj
+++ b/cs/cs_unittest_nofriend/cs_unittest_nofriend.csproj
@@ -16,12 +16,13 @@
$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages
False
UnitTest
+ $(SolutionDir)out\target\$(Configuration)\$(PlatformShortName)\
+ $(SolutionDir)out\int\$(Configuration)\$(PlatformShortName)\$(ProjectName)\
true
full
false
- bin\Debug\
DEBUG;TRACE
prompt
4
@@ -29,7 +30,6 @@
pdbonly
true
- bin\Release\
TRACE
prompt
4
diff --git a/cs/leaktest/Properties/AssemblyInfo.cs b/cs/leaktest/Properties/AssemblyInfo.cs
deleted file mode 100644
index 90ee3c1c33a..00000000000
--- a/cs/leaktest/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("cs_leaktest")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("cs_leaktest")]
-[assembly: AssemblyCopyright("Copyright © 2015")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("d5a87745-39ce-427d-8463-5dde8d630f26")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/cs/leaktest/TestLeak.cs b/cs/leaktest/TestLeak.cs
deleted file mode 100644
index 810ccd979fa..00000000000
--- a/cs/leaktest/TestLeak.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace cs_leaktest
-{
- [TestClass]
- public class TestLeakClass : TestWrappedBase
- {
-#if DEBUG
- ///
- /// Tests if the leak detector actually works.
- ///
- /// Only possible in debug as VLD is not linked against in release.
- [TestMethod]
- public void TestLeak()
- {
- try
- {
- Run("cs_unittest.TestLeakClass", "Leak");
- }
- catch (AssertFailedException ex)
- {
- Assert.IsTrue(ex.Message.Contains("Total 492 bytes")); // 123 *4
- }
- }
-
- [TestMethod]
- public void TestNoLeak()
- {
- Run("cs_unittest.TestLeakClass", "NoLeak");
- }
-#endif
- }
-}
diff --git a/cs/leaktest/TestWrapped.cs b/cs/leaktest/TestWrapped.cs
deleted file mode 100644
index 27a88a2a369..00000000000
--- a/cs/leaktest/TestWrapped.cs
+++ /dev/null
@@ -1,1555 +0,0 @@
-
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-using cs_leaktest;
-
-namespace cs_unittest
-{
- [TestClass]
- public class TestWrapped : TestWrappedBase
- {
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test1()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test1");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test2()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test2");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test3()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test3");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test4()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test4");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test5()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test5");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test6()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test6");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test7()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test7");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test8()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test8");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test11()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test11");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test12()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test12");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test15()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test15");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test21()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test21");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test22()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test22");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test23()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test23");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test27()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test27");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test28()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test28");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test29()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test29");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test30()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test30");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test35()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test35");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test36()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test36");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test37()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test37");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test38()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test38");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test39()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test39");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test40()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test40");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test41()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test41");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test62()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test62");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test63()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test63");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test64()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test64");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test72()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test72");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test73()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test73");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test74()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test74");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test75()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test75");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test76()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test76");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test78()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test78");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test79()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test79");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test80()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test80");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test81()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test81");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test82()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test82");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test83()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test83");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test88()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test88");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test89()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test89");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test90()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test90");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test91()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test91");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test94()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test94");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test95()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test95");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test97()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test97");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test107()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test107");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test108()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test108");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test109()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test109");
- }
-
- [TestCategory("Command Line")]
-
- [TestMethod]
- public void CommandLine_Test113()
- {
- Run("cs_unittest.RunTests", "CommandLine_Test113");
- }
-
- [TestMethod]
- public void TestAllReduce()
- {
- Run("cs_unittest.TestAllReduceClass", "TestAllReduce");
- }
-
- [TestMethod]
- public void TestExampleCacheForLearning()
- {
- Run("cs_unittest.TestExampleCacheCases", "TestExampleCacheForLearning");
- }
-
- [TestMethod]
- public void TestExampleCacheDisabledForLearning()
- {
- Run("cs_unittest.TestExampleCacheCases", "TestExampleCacheDisabledForLearning");
- }
-
- [TestMethod]
- public void TestExampleCache()
- {
- Run("cs_unittest.TestExampleCacheCases", "TestExampleCache");
- }
-
- [TestMethod]
- public void TestHash()
- {
- Run("cs_unittest.TestManagedHash", "TestHash");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestEnumerize()
- {
- Run("cs_unittest.TestMarshalling", "TestEnumerize");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestString()
- {
- Run("cs_unittest.TestMarshalling", "TestString");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestStringFeatureGroup()
- {
- Run("cs_unittest.TestMarshalling", "TestStringFeatureGroup");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestStringNamespace()
- {
- Run("cs_unittest.TestMarshalling", "TestStringNamespace");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestStringEscape()
- {
- Run("cs_unittest.TestMarshalling", "TestStringEscape");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestStringSplit()
- {
- Run("cs_unittest.TestMarshalling", "TestStringSplit");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionary()
- {
- Run("cs_unittest.TestMarshalling", "TestDictionary");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestCustomType()
- {
- Run("cs_unittest.TestMarshalling", "TestCustomType");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestEnumerableString()
- {
- Run("cs_unittest.TestMarshalling", "TestEnumerableString");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestEnumerableKV()
- {
- Run("cs_unittest.TestMarshalling", "TestEnumerableKV");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestComplexType()
- {
- Run("cs_unittest.TestMarshalling", "TestComplexType");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestEnumerizePosition()
- {
- Run("cs_unittest.TestMarshalling", "TestEnumerizePosition");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestBool()
- {
- Run("cs_unittest.TestMarshalling", "TestBool");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestFeatureDiscoveryAll()
- {
- Run("cs_unittest.TestMarshalling", "TestFeatureDiscoveryAll");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericInt64Overflow()
- {
- Run("cs_unittest.TestMarshallingOverflow", "TestNumericInt64Overflow");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericUInt64Overflow()
- {
- Run("cs_unittest.TestMarshallingOverflow", "TestNumericUInt64Overflow");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericDoubleOverflow()
- {
- Run("cs_unittest.TestMarshallingOverflow", "TestNumericDoubleOverflow");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericInt64OverflowArray()
- {
- Run("cs_unittest.TestMarshallingOverflow", "TestNumericInt64OverflowArray");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericUInt64OverflowArray()
- {
- Run("cs_unittest.TestMarshallingOverflow", "TestNumericUInt64OverflowArray");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericDoubleOverflowArray()
- {
- Run("cs_unittest.TestMarshallingOverflow", "TestNumericDoubleOverflowArray");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryUInt16UInt32()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryUInt16UInt32");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryUInt16Single()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryUInt16Single");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryUInt16Int64()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryUInt16Int64");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryUInt16UInt64()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryUInt16UInt64");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryUInt16Double()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryUInt16Double");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericByte()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericByte");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericByteArray()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericByteArray");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericByteArrayAnchor()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericByteArrayAnchor");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericSByte()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericSByte");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericSByteArray()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericSByteArray");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericSByteArrayAnchor()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericSByteArrayAnchor");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericInt16()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericInt16");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericInt16Array()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericInt16Array");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericInt16ArrayAnchor()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericInt16ArrayAnchor");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericInt32()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericInt32");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericInt32Array()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericInt32Array");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericInt32ArrayAnchor()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericInt32ArrayAnchor");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericUInt16()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericUInt16");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericUInt16Array()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericUInt16Array");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericUInt16ArrayAnchor()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericUInt16ArrayAnchor");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericUInt32()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericUInt32");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericUInt32Array()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericUInt32Array");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericUInt32ArrayAnchor()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericUInt32ArrayAnchor");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericSingle()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericSingle");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericSingleArray()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericSingleArray");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericSingleArrayAnchor()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericSingleArrayAnchor");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericInt64()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericInt64");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericInt64Array()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericInt64Array");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericInt64ArrayAnchor()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericInt64ArrayAnchor");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericUInt64()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericUInt64");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericUInt64Array()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericUInt64Array");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericUInt64ArrayAnchor()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericUInt64ArrayAnchor");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericDouble()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericDouble");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericDoubleArray()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericDoubleArray");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestNumericDoubleArrayAnchor()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestNumericDoubleArrayAnchor");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryByte()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryByte");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryByteString()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryByteString");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryByteByte()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryByteByte");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryByteSByte()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryByteSByte");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryByteInt16()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryByteInt16");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryByteInt32()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryByteInt32");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryByteUInt16()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryByteUInt16");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryByteUInt32()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryByteUInt32");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryByteSingle()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryByteSingle");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryByteInt64()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryByteInt64");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryByteUInt64()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryByteUInt64");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryByteDouble()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryByteDouble");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionarySByte()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionarySByte");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionarySByteString()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionarySByteString");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionarySByteByte()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionarySByteByte");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionarySByteSByte()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionarySByteSByte");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionarySByteInt16()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionarySByteInt16");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionarySByteInt32()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionarySByteInt32");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionarySByteUInt16()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionarySByteUInt16");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionarySByteUInt32()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionarySByteUInt32");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionarySByteSingle()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionarySByteSingle");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionarySByteInt64()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionarySByteInt64");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionarySByteUInt64()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionarySByteUInt64");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionarySByteDouble()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionarySByteDouble");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryInt16()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryInt16");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryInt16String()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryInt16String");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryInt16Byte()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryInt16Byte");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryInt16SByte()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryInt16SByte");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryInt16Int16()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryInt16Int16");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryInt16Int32()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryInt16Int32");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryInt16UInt16()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryInt16UInt16");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryInt16UInt32()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryInt16UInt32");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryInt16Single()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryInt16Single");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryInt16Int64()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryInt16Int64");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryInt16UInt64()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryInt16UInt64");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryInt16Double()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryInt16Double");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryInt32()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryInt32");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryInt32String()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryInt32String");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryInt32Byte()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryInt32Byte");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryInt32SByte()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryInt32SByte");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryInt32Int16()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryInt32Int16");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryInt32Int32()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryInt32Int32");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryInt32UInt16()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryInt32UInt16");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryInt32UInt32()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryInt32UInt32");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryInt32Single()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryInt32Single");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryInt32Int64()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryInt32Int64");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryInt32UInt64()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryInt32UInt64");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryInt32Double()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryInt32Double");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryUInt16()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryUInt16");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryUInt16String()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryUInt16String");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryUInt16Byte()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryUInt16Byte");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryUInt16SByte()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryUInt16SByte");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryUInt16Int16()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryUInt16Int16");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryUInt16Int32()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryUInt16Int32");
- }
-
- [TestCategory("Marshal")]
-
- [TestMethod]
- public void TestDictionaryUInt16UInt16()
- {
- Run("cs_unittest.TestMarshalNumeric", "TestDictionaryUInt16UInt16");
- }
-
- [TestCategory("Model Loading")]
-
- [TestMethod]
- public void TestLoadModelCorrupt()
- {
- Run("cs_unittest.TestModelLoading", "TestLoadModelCorrupt");
- }
-
- [TestCategory("Model Loading")]
-
- [TestMethod]
- public void TestLoadModel()
- {
- Run("cs_unittest.TestModelLoading", "TestLoadModel");
- }
-
- [TestCategory("Model Loading")]
-
- [TestMethod]
- public void TestLoadModelRandomCorrupt()
- {
- Run("cs_unittest.TestModelLoading", "TestLoadModelRandomCorrupt");
- }
-
- [TestCategory("Model Loading")]
-
- [TestMethod]
- public void TestLoadModelInMemory()
- {
- Run("cs_unittest.TestModelLoading", "TestLoadModelInMemory");
- }
-
- [TestCategory("Model Loading")]
-
- [TestMethod]
- public void TestID()
- {
- Run("cs_unittest.TestModelLoading", "TestID");
- }
-
- [TestCategory("Model Loading")]
-
- [TestMethod]
- public void TestReload()
- {
- Run("cs_unittest.TestModelLoading", "TestReload");
- }
-
- [TestCategory("Null")]
-
- [TestMethod]
- public void TestNull1()
- {
- Run("cs_unittest.TestNull", "TestNull1");
- }
-
- [TestCategory("Null")]
-
- [TestMethod]
- public void TestNull2()
- {
- Run("cs_unittest.TestNull", "TestNull2");
- }
-
- [TestCategory("Null")]
-
- [TestMethod]
- public void TestNull3()
- {
- Run("cs_unittest.TestNull", "TestNull3");
- }
-
- [TestCategory("Null")]
-
- [TestMethod]
- public void TestNull4()
- {
- Run("cs_unittest.TestNull", "TestNull4");
- }
-
- [TestCategory("Null")]
-
- [TestMethod]
- public void TestNull5()
- {
- Run("cs_unittest.TestNull", "TestNull5");
- }
-
- [TestMethod]
- public void TestCustomFeaturizer()
- {
- Run("cs_unittest.TestSerializer", "TestCustomFeaturizer");
- }
-
- [TestMethod]
- public void TestCustomFeaturizerOverideMethod()
- {
- Run("cs_unittest.TestSerializer", "TestCustomFeaturizerOverideMethod");
- }
-
- [TestMethod]
- public void TestDictify()
- {
- Run("cs_unittest.TestSerializer", "TestDictify");
- }
-
- [TestCategory("Command line through marshalling")]
-
- [TestMethod]
- public void Test1and2()
- {
- Run("cs_test.Test1and2Class", "Test1and2");
- }
-
- [TestCategory("Command line through marshalling")]
-
- [TestMethod]
- public void Test3()
- {
- Run("cs_unittest.Test3Class", "Test3");
- }
-
- [TestCategory("Command line through marshalling")]
-
- [TestMethod]
- public void Test4and6()
- {
- Run("cs_unittest.Test3Class", "Test4and6");
- }
-
- [TestCategory("Command line through marshalling")]
-
- [TestMethod]
- public void Test5()
- {
- Run("cs_unittest.Test3Class", "Test5");
- }
-
- [TestCategory("Command line through marshalling")]
-
- [TestMethod]
- public void Test7and8()
- {
- Run("cs_unittest.Test3Class", "Test7and8");
- }
-
- [TestCategory("Command line through marshalling")]
-
- [TestMethod]
- public void Test87()
- {
- Run("cs_unittest.TestCbAdfClass", "Test87");
- }
-
- [TestMethod]
- public void TestSharedModel()
- {
- Run("cs_unittest.TestCbAdfClass", "TestSharedModel");
- }
-
- [TestMethod]
- public void TestAntlr()
- {
- Run("cs_unittest.TestAntlrClass", "TestAntlr");
- }
-
- [TestCategory("ObjectPool")]
-
- [TestMethod]
- public void ObjectPoolTestEmptyFactory()
- {
- Run("cs_unittest.TestPooling", "ObjectPoolTestEmptyFactory");
- }
-
- [TestCategory("ObjectPool")]
-
- [TestMethod]
- public void ObjectPoolTestDisposed1()
- {
- Run("cs_unittest.TestPooling", "ObjectPoolTestDisposed1");
- }
-
- [TestCategory("ObjectPool")]
-
- [TestMethod]
- public void ObjectPoolTestDisposed2()
- {
- Run("cs_unittest.TestPooling", "ObjectPoolTestDisposed2");
- }
-
- [TestCategory("ObjectPool")]
-
- [TestMethod]
- public void ObjectPoolTestDangling()
- {
- Run("cs_unittest.TestPooling", "ObjectPoolTestDangling");
- }
-
- [TestCategory("ObjectPool")]
-
- [TestMethod]
- public void ObjectPoolTestFactory()
- {
- Run("cs_unittest.TestPooling", "ObjectPoolTestFactory");
- }
-
- [TestCategory("ObjectPool")]
-
- [TestMethod]
- public void ObjectPoolTestConcurrency()
- {
- Run("cs_unittest.TestPooling", "ObjectPoolTestConcurrency");
- }
-
- [TestMethod]
- public void VwCleanupTest()
- {
- Run("cs_unittest.TestWrapper", "VwCleanupTest");
- }
-
- [TestMethod]
- public void VwCleanupTestError()
- {
- Run("cs_unittest.TestWrapper", "VwCleanupTestError");
- }
-
- [TestMethod]
- public void VwModelRefCountingTest()
- {
- Run("cs_unittest.TestWrapper", "VwModelRefCountingTest");
- }
-
- }
-}
-
diff --git a/cs/leaktest/TestWrappedBase.cs b/cs/leaktest/TestWrappedBase.cs
deleted file mode 100644
index e999bc94c23..00000000000
--- a/cs/leaktest/TestWrappedBase.cs
+++ /dev/null
@@ -1,119 +0,0 @@
-using cs_testcommon;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.IO;
-using System.Linq;
-using System.Runtime.InteropServices;
-using System.Text;
-using System.Text.RegularExpressions;
-using System.Threading;
-using System.Threading.Tasks;
-using VLD;
-
-namespace cs_leaktest
-{
- public class TestWrappedBase
- {
- [DllImport("kernel32", SetLastError = true, CharSet = CharSet.Ansi)]
- static extern IntPtr LoadLibrary([MarshalAs(UnmanagedType.LPStr)]string lpFileName);
-
- [DllImport("kernel32.dll", SetLastError = true)]
- [return: MarshalAs(UnmanagedType.Bool)]
- static extern bool FreeLibrary(IntPtr hModule);
-
- ///
- /// Implement custom StackTrace so one can easily click in Test Explorer
- ///
- internal class CustomException : Exception
- {
- private readonly string stackTrace;
-
- internal CustomException(string message, string stackTrace) : base(message)
- {
- this.stackTrace = stackTrace;
- }
-
- public override string StackTrace
- {
- get
- {
- return this.stackTrace;
- }
- }
- }
- public TestContext TestContext { get; set; }
-
- private object lockObject = new object();
-
- protected void Run(string type, string method)
- {
- lock (lockObject)
- {
- using (var vld = new VisualLeakDetector())
- {
- try
- {
- // vowpalwabbit\x64\Debug\cs_leaktest.dll
- var basePath = Path.GetDirectoryName(typeof(VisualLeakDetector).Assembly.Location);
-
- var handle = LoadLibrary(basePath + @"\\VowpalWabbitCore.dll");
- var appDomain = AppDomain.CreateDomain("Test1");
-
- try
- {
- ITestRunner test1 = (ITestRunner)appDomain.CreateInstanceFromAndUnwrap(basePath + @"\\cs_unittest.dll", "cs_unittest.TestRunner");
-
- Environment.CurrentDirectory = basePath + @"\..\..\..\test";
-
- var result = test1.Run(type, method);
-
- if (result != null)
- {
- // check for exception marker
- var index = result.IndexOf("#-#-#-#-#-#-#");
-
- if (index == -1)
- {
- Assert.Fail(result);
- }
-
- throw new CustomException(result.Substring(0, index), result.Substring(index + 13));
- }
-
- }
- finally
- {
- AppDomain.Unload(appDomain);
- }
-
- try
- {
- FreeLibrary(handle);
- FreeLibrary(handle);
-
- vld.ReportLeaks();
-
- var message = string.Concat(vld.Messages.Select(t => t.Item2));
-
- var blocks = message.Split(new[] { "---------- Block " }, StringSplitOptions.None)
- .Where(block => Regex.IsMatch(block, "^\\d+ at"))
- .ToList();
-
- Assert.AreEqual(0, blocks.Count, string.Join("\n", blocks));
- }
- finally
- {
- LoadLibrary(basePath + @"\VowpalWabbitCore.dll");
- }
- }
- finally
- {
- vld.MarkAllLeaksAsReported();
- }
- }
- }
- }
- }
-}
diff --git a/cs/leaktest/cs_leaktest.csproj b/cs/leaktest/cs_leaktest.csproj
deleted file mode 100644
index 4b99b019582..00000000000
--- a/cs/leaktest/cs_leaktest.csproj
+++ /dev/null
@@ -1,135 +0,0 @@
-
-
-
- Debug
- AnyCPU
- {492EA3A7-8A41-459E-BBC3-5A3FE9DDFC68}
- Library
- Properties
- cs_leaktest
- cs_leaktest
- v4.5.2
- 512
- {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- 10.0
- $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
- $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages
- False
- UnitTest
- ..\..\vowpalwabbit\
- fc8dceef
-
-
-
- true
- $(SolutionDir)\x64\Debug\
- DEBUG;TRACE
- true
- full
- x64
- prompt
- MinimumRecommendedRules.ruleset
-
-
- $(SolutionDir)\x64\Release\
- TRACE
- true
- pdbonly
- x64
- prompt
- MinimumRecommendedRules.ruleset
-
-
- true
- $(SolutionDir)\x64\DebugLeakCheck\
- DEBUG;TRACE
- true
- full
- x64
- prompt
- MinimumRecommendedRules.ruleset
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {6a9cbeab-427f-4d8d-9559-b76b42b0895c}
- cs_testcommon
-
-
- {3d57a6af-de8c-40dc-abde-e4ce1b9c0d20}
- cs_vld
-
-
-
-
- dbghelp.dll
- PreserveNewest
-
-
- vld_x64.dll
- PreserveNewest
-
-
-
-
- Microsoft.DTfW.DHL.manifest
- PreserveNewest
-
-
-
-
-
-
- False
-
-
- False
-
-
- False
-
-
- False
-
-
-
-
-
-
-
-
-
- This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
-
-
-
-
-
\ No newline at end of file
diff --git a/cs/test/cs_test.csproj b/cs/test/cs_test.csproj
index 8b61c0249b1..bc0ff645550 100644
--- a/cs/test/cs_test.csproj
+++ b/cs/test/cs_test.csproj
@@ -2,7 +2,7 @@
Debug
- x86
+ x64
8.0.30703
2.0
{D5E462FC-3DD6-4B65-A9E9-DA0B0B11D254}
@@ -30,13 +30,14 @@
false
true
..\..\vowpalwabbit\
+ $(SolutionDir)out\target\$(Configuration)\$(PlatformShortName)\
+ $(SolutionDir)out\int\$(Configuration)\$(PlatformShortName)\$(ProjectName)\
x86
true
full
false
- bin\Debug\
DEBUG;TRACE
prompt
4
@@ -46,7 +47,6 @@
x86
pdbonly
true
- bin\Release\
TRACE
prompt
4
@@ -54,7 +54,6 @@
true
- $(SolutionDir)\x64\Debug\
DEBUG;TRACE
full
x64
@@ -71,7 +70,6 @@
false
- $(SolutionDir)\x64\Release\
TRACE
true
pdbonly
@@ -90,7 +88,6 @@
true
- bin\Debug\
DEBUG;TRACE
full
x86
@@ -106,7 +103,6 @@
false
- bin\Release\
TRACE
true
pdbonly
@@ -120,38 +116,6 @@
;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules
false
-
- true
- bin\x86\DebugLeakCheck\
- DEBUG;TRACE
- full
- x86
- prompt
- MinimumRecommendedRules.ruleset
-
-
- true
- bin\x64\DebugLeakCheck\
- DEBUG;TRACE
- full
- x64
- false
- prompt
- MinimumRecommendedRules.ruleset
- false
- false
-
-
- true
- bin\DebugLeakCheck\
- DEBUG;TRACE
- full
- x86
- prompt
- MinimumRecommendedRules.ruleset
- false
- false
-
@@ -224,8 +188,9 @@
- xcopy /y/d $(SolutionDir)\dll\$(PlatformName)\$(ConfigurationName)\libvw.* $(TargetDir)
-
+
+
diff --git a/cs/testcommon/cs_testcommon.csproj b/cs/testcommon/cs_testcommon.csproj
index 004bb31557a..7cd90060dbd 100644
--- a/cs/testcommon/cs_testcommon.csproj
+++ b/cs/testcommon/cs_testcommon.csproj
@@ -12,10 +12,11 @@
v4.5.2
512
+ $(SolutionDir)out\target\$(Configuration)\$(PlatformShortName)\
+ $(SolutionDir)out\int\$(Configuration)\$(PlatformShortName)\$(ProjectName)\
true
- $(SolutionDir)\x64\Debug\
DEBUG;TRACE
full
x64
@@ -24,7 +25,6 @@
true
- $(SolutionDir)\x64\Release\
TRACE
true
pdbonly
@@ -38,16 +38,6 @@
..\vw_key.snk
-
- true
- $(SolutionDir)\x64\DebugLeakCheck\
- DEBUG;TRACE
- true
- full
- x64
- prompt
- MinimumRecommendedRules.ruleset
-
diff --git a/cs/testhelp/cs_testhelp.csproj b/cs/testhelp/cs_testhelp.csproj
index ac6d3759f4d..d9e2b635f2a 100644
--- a/cs/testhelp/cs_testhelp.csproj
+++ b/cs/testhelp/cs_testhelp.csproj
@@ -16,10 +16,11 @@
+ $(SolutionDir)out\target\$(Configuration)\$(PlatformShortName)\
+ $(SolutionDir)out\int\$(Configuration)\$(PlatformShortName)\$(ProjectName)\
true
- $(SolutionDir)\x64\Debug\
DEBUG;TRACE
full
x64
@@ -28,7 +29,6 @@
true
- $(SolutionDir)\x64\Release\
TRACE
true
pdbonly
@@ -37,16 +37,6 @@
MinimumRecommendedRules.ruleset
true
-
- true
- ..\..\vowpalwabbit\x64\DebugLeakCheck\
- DEBUG;TRACE
- full
- x64
- prompt
- MinimumRecommendedRules.ruleset
- true
-
diff --git a/cs/unittest/TestAzure.cs b/cs/unittest/TestAzure.cs
index 758fe6c2e63..3a9d53fdeb1 100644
--- a/cs/unittest/TestAzure.cs
+++ b/cs/unittest/TestAzure.cs
@@ -1,572 +1,572 @@
-using Microsoft.ApplicationInsights.DataContracts;
-using Microsoft.ApplicationInsights.Extensibility;
-using Microsoft.ServiceBus.Messaging;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-using Microsoft.WindowsAzure.Storage;
-using Microsoft.WindowsAzure.Storage.Blob;
-using MoreLinq;
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Globalization;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Text.RegularExpressions;
-using System.Threading.Tasks;
-using VW;
-using VW.Azure.Trainer;
-using VW.Azure.Trainer.Checkpoint;
-using VW.Serializer;
-
-namespace cs_unittest
-{
- [TestClass]
- public class TestAzure
- {
- public class SharedFeatures
- {
- public string Location { get; set; }
- }
-
- public class ActionNamespace
- {
- public float Category { get; set; }
- }
-
- public class ActionFeatures
- {
- [JsonProperty("b")]
- public ActionNamespace Namespace { get; set; }
-
- // TODO: _tag
- }
-
- public class Context
- {
- // TODO: _ProbabilityOfDrop
-
- [JsonIgnore]
- public int Index { get; set; }
-
- [JsonIgnore]
- public string JSON
- {
- get { return JsonConvert.SerializeObject(this); }
- }
-
- [JsonIgnore]
- public byte[] JSONAsBytes
- {
- get { return Encoding.UTF8.GetBytes(this.JSON); }
- }
-
- [JsonProperty("_eventid")]
- public string EventId { get; set; }
-
- [JsonProperty("_timestamp")]
- public DateTime Timestamp { get; set; }
-
- [JsonProperty("_a")]
- public int[] ActionIndicies { get; set; }
-
- [JsonProperty("_p")]
- public float[] Probabilities { get; set; }
-
- [JsonProperty("_label_action")]
- public int LabelAction { get; set; }
-
- [JsonProperty("_label_cost")]
- public float LabelCost { get; set; }
-
- [JsonProperty("_label_probability")]
- public float LabelProbability { get; set; }
-
- [JsonProperty("_labelindex")]
- public int LabelIndex { get; set; }
-
- [JsonProperty("a")]
- public SharedFeatures Shared { get; set; }
-
- [JsonProperty("_multi")]
- public ActionFeatures[] Actions { get; set; }
- }
-
- private static string GetConfiguration(string name)
- {
- var value = Environment.GetEnvironmentVariable(name);
- if (!string.IsNullOrEmpty(value))
- return value.Trim();
-
- var path = Directory.GetCurrentDirectory();
- do
- {
- var filename = Path.Combine(path, "vw_azure.config");
- if (File.Exists(filename))
- {
- var q = from line in File.ReadAllLines(filename)
- let m = Regex.Match(line, @"^(\S+)\s*=(.*)$")
- where m.Success
- where m.Groups[1].Value == name
- select m.Groups[2].Value;
-
- value = q.FirstOrDefault();
- if (!string.IsNullOrEmpty(value))
- return value.Trim();
- }
-
- var di = Directory.GetParent(path);
- if (di == null)
- Assert.Fail($"Configuration variable '{name}' not found. Search for environment variable or vw_azure.config");
-
- path = di.FullName;
- }
- while (true);
- }
-
- private class OnlineTrainerWrapper : IDisposable
- {
- internal string trainArguments;
- internal OnlineTrainerBlobs Blobs;
-
- private string storageConnectionString = GetConfiguration("storageConnectionString");
- private string inputEventHubConnectionString = GetConfiguration("inputEventHubConnectionString");
- private string evalEventHubConnectionString = GetConfiguration("evalEventHubConnectionString");
- private SynchronizedCollection exceptions;
- private LearnEventProcessorHost trainProcesserHost;
-
- internal OnlineTrainerWrapper(string trainArguments)
- {
- this.trainArguments = trainArguments;
-
- Blobs = new OnlineTrainerBlobs(storageConnectionString);
-
- // register with AppInsights to collect exceptions
- // need to set the instrumentation key, otherwise the processor is ignored.
- TelemetryConfiguration.Active.InstrumentationKey = "00000000-0000-0000-0000-000000000000";
- exceptions = new SynchronizedCollection();
- var builder = TelemetryConfiguration.Active.TelemetryProcessorChainBuilder;
- builder.Use((next) => new TestTelemetryProcessor(next, exceptions));
- builder.Build();
- }
-
- void AssertNoExceptionsThroughAppInsights()
- {
- Assert.AreEqual(0, exceptions.Count, string.Join("\n", exceptions.Select(e => e.Exception.Message + " " + e.Message)));
- }
-
- internal async Task StartAsync(ICheckpointPolicy checkpointPolicy)
- {
- trainProcesserHost = new LearnEventProcessorHost();
- await trainProcesserHost.StartAsync(new OnlineTrainerSettingsInternal
- {
- CheckpointPolicy = checkpointPolicy,
- JoinedEventHubConnectionString = inputEventHubConnectionString,
- EvalEventHubConnectionString = evalEventHubConnectionString,
- StorageConnectionString = storageConnectionString,
- Metadata = new OnlineTrainerSettings
- {
- ApplicationID = "vwunittest",
- TrainArguments = trainArguments
- },
- EnableExampleTracing = false,
- EventHubStartDateTimeUtc = DateTime.UtcNow // ignore any events that arrived before this time
- });
-
- AssertNoExceptionsThroughAppInsights();
- }
-
- internal async Task PollTrainerCheckpoint(Predicate predicate)
- {
- // wait for trainer to checkpoint
- await Blobs.PollTrainerCheckpoint(exceptions, predicate);
- }
-
- internal void SendData(IEnumerable data)
- {
- // send events to event hub
- var eventHubInputClient = EventHubClient.CreateFromConnectionString(inputEventHubConnectionString);
- data.ForEach(c => eventHubInputClient.Send(new EventData(c.JSONAsBytes) { PartitionKey = c.Index.ToString() }));
- }
-
- public void Dispose()
- {
- if (trainProcesserHost != null)
- {
- trainProcesserHost.Dispose();
- trainProcesserHost = null;
- }
- }
-
- internal void TrainOffline(string message, string modelId, Dictionary data, IEnumerable eventOrder, Uri onlineModelUri, string trainArguments = null)
- {
- // allow override
- if (trainArguments == null)
- trainArguments = this.trainArguments;
-
- // train model offline using trackback
- var settings = new VowpalWabbitSettings(trainArguments + $" --id {modelId} --save_resume --preserve_performance_counters -f offline.model");
- using (var vw = new VowpalWabbitJson(settings))
- {
- foreach (var id in eventOrder)
- {
- var json = data[id].JSON;
-
- var progressivePrediction = vw.Learn(json, VowpalWabbitPredictionType.ActionProbabilities);
- // TODO: validate eval output
- }
- }
-
- using (var vw = new VowpalWabbit("-i offline.model --save_resume --readable_model offline.model.txt -f offline.reset_perf_counters.model"))
- { }
-
- Blobs.DownloadFile(onlineModelUri, "online.model");
- using (var vw = new VowpalWabbit("-i online.model --save_resume --readable_model online.model.txt -f online.reset_perf_counters.model"))
- { }
-
-
- // validate that the model is the same
- CollectionAssert.AreEqual(
- File.ReadAllBytes("offline.reset_perf_counters.model"),
- File.ReadAllBytes("online.reset_perf_counters.model"),
- $"{message}. Offline and online model differs. Compare online.model.txt with offline.model.txt to compare");
- }
- }
-
- private async Task RunTrainer(string args, IEnumerable data, Dictionary dataMap, int expectedNumStates, bool cleanBlobs)
- {
- var trainer = new OnlineTrainerWrapper("--cb_explore_adf --epsilon 0.1 -q ab -l 0.1");
-
- if (cleanBlobs)
- trainer.Blobs.Cleanup().Wait();
-
- // start listening for event hub
- await trainer.StartAsync(new CountingCheckpointPolicy(100));
-
- // send data to event hub
- trainer.SendData(data);
-
- await trainer.PollTrainerCheckpoint(blobs =>
- blobs.ModelBlobs.Count == expectedNumStates &&
- blobs.ModelTrackbackBlobs.Count == expectedNumStates &&
- blobs.StateJsonBlobs.Count == expectedNumStates);
-
- // download & parse trackback file
- trainer.Blobs.DownloadTrackbacksOrderedByTime();
-
- foreach (var trackback in trainer.Blobs.Trackbacks)
- // due to checkpoint policy = 100
- Assert.AreEqual(100, trackback.EventIds.Count, $"{trackback.Blob.Uri} does not contain the expected 100 events. Actual: {trackback.EventIds.Count}");
-
- return trainer;
- }
-
- [TestMethod]
- [TestCategory("NotOnVSO")]
- [TestCategory("Vowpal Wabbit")]
- [Ignore]
- public async Task TestAzureTrainerRestart()
- {
- // generate data
- var data = GenerateData(600).ToList();
- var dataMap = data.ToDictionary(d => d.EventId, d => d);
-
- var args = "--cb_explore_adf --epsilon 0.1 -q ab -l 0.1";
-
- using (var trainer = await RunTrainer(args, data.Take(220), dataMap, expectedNumStates: 2, cleanBlobs: true))
- {
- trainer.TrainOffline("produce the 1st model", trainer.Blobs.Trackbacks[0].ModelId, dataMap, trainer.Blobs.Trackbacks[0].EventIds, trainer.Blobs.ModelBlobs[0].Uri);
- // keep model for subsequent training
- File.Copy("offline.model", "split1.model", overwrite: true);
-
- trainer.TrainOffline("produce the 2nd model by training through all events", trainer.Blobs.Trackbacks[1].ModelId, dataMap, trainer.Blobs.Trackbacks.SelectMany(t => t.EventIds), trainer.Blobs.ModelBlobs[1].Uri);
- File.Copy("offline.model", "split2.model", overwrite: true);
-
- trainer.TrainOffline("produce the 2nd model by starting from the 1st and then continuing", trainer.Blobs.Trackbacks[1].ModelId, dataMap, trainer.Blobs.Trackbacks[1].EventIds, trainer.Blobs.ModelBlobs[1].Uri, "-i split1.model -l 0.1");
- }
-
- // restart trainer and resume from split2.model, covering "fresh -> load" transition
- using (var trainer = await RunTrainer(args, data.Skip(220).Take(120), dataMap, expectedNumStates: 3, cleanBlobs: false))
- {
- var lastTrackback = trainer.Blobs.Trackbacks.Last();
- var lastBlob = trainer.Blobs.ModelBlobs.Last();
- trainer.TrainOffline("produce the 3rd model by training through all events", lastTrackback.ModelId, dataMap, trainer.Blobs.Trackbacks.SelectMany(t => t.EventIds), lastBlob.Uri);
- trainer.TrainOffline("produce the 3rd model by starting from the 2nd and then continuing", lastTrackback.ModelId, dataMap, lastTrackback.EventIds, lastBlob.Uri, "-i split2.model -l 0.1");
-
- File.Copy("offline.model", "split3.model", overwrite: true);
- }
-
- // restart ones more to cover "load -> save"
- using (var trainer = await RunTrainer(args, data.Skip(340).Take(120), dataMap, expectedNumStates: 4, cleanBlobs: false))
- {
- var lastTrackback = trainer.Blobs.Trackbacks.Last();
- var lastBlob = trainer.Blobs.ModelBlobs.Last();
- trainer.TrainOffline("produce the 4th model by training through all events", lastTrackback.ModelId, dataMap, trainer.Blobs.Trackbacks.SelectMany(t => t.EventIds), lastBlob.Uri);
- trainer.TrainOffline("produce the 4th model by starting from the 3rd and then continuing", lastTrackback.ModelId, dataMap, lastTrackback.EventIds, lastBlob.Uri, "-i split3.model -l 0.1");
- }
- }
-
- [TestMethod]
- [TestCategory("NotOnVSO")]
- [TestCategory("Vowpal Wabbit")]
- [Ignore]
- public async Task TestAzureTrainer()
- {
- using (var trainer = new OnlineTrainerWrapper("--cb_explore_adf --epsilon 0.2 -q ab"))
- {
- trainer.Blobs.Cleanup().Wait();
-
- // generate data
- var data = GenerateData(100).ToList();
- var dataMap = data.ToDictionary(d => d.EventId, d => d);
-
- // start listening for event hub
- await trainer.StartAsync(new CountingCheckpointPolicy(data.Count));
-
- // send data to event hub
- trainer.SendData(data);
-
- // wait for trainer to checkpoint
- await trainer.PollTrainerCheckpoint(blobs => blobs.ModelBlobs.Count > 0 && blobs.ModelTrackbackBlobs.Count > 0 && blobs.StateJsonBlobs.Count > 0 );
-
- // download & parse trackback file
- trainer.Blobs.DownloadTrackbacksOrderedByTime();
- Assert.AreEqual(1, trainer.Blobs.Trackbacks.Count);
-
- var trackback = trainer.Blobs.Trackbacks[0];
- Assert.AreEqual(data.Count, trackback.EventIds.Count);
- Assert.AreEqual(1, trainer.Blobs.ModelBlobs.Count);
-
- trainer.TrainOffline("train a model for this set of events", trackback.ModelId, dataMap, trackback.EventIds, trainer.Blobs.ModelBlobs[0].Uri);
- }
- }
-
- [TestMethod]
- [TestCategory("Vowpal Wabbit")]
- public void TestCbProgressiveValidation()
- {
- int numExamples = 1024;
- foreach (var cbType in new[] { "ips", "dr", "mtr" })
- {
- var trainArguments = $"--cb_explore_adf --epsilon 0.1 --bag 3 -q ab --power_t 0 -l 0.1 --cb_type {cbType} --random_seed 50";
- int[] topActionCounts = new int[3];
- using (var vw1 = new VowpalWabbitJson(trainArguments))
- using (var vw2 = new VowpalWabbitJson(trainArguments))
- {
- foreach (var ex in GenerateData(numExamples))
- {
- var json = ex.JSON;
-
- var pred1_a = vw1.Predict(json, VowpalWabbitPredictionType.ActionProbabilities);
- var pred1_b = vw1.Learn(json, VowpalWabbitPredictionType.ActionProbabilities);
-
- var pred2 = vw2.Learn(json, VowpalWabbitPredictionType.ActionProbabilities);
-
- AreEqual(pred1_a, pred2, cbType);
- AreEqual(pred1_b, pred2, cbType);
-
- topActionCounts[pred2[0].Action]++;
+//using Microsoft.ApplicationInsights.DataContracts;
+//using Microsoft.ApplicationInsights.Extensibility;
+//using Microsoft.ServiceBus.Messaging;
+//using Microsoft.VisualStudio.TestTools.UnitTesting;
+//using Microsoft.WindowsAzure.Storage;
+//using Microsoft.WindowsAzure.Storage.Blob;
+//using MoreLinq;
+//using Newtonsoft.Json;
+//using System;
+//using System.Collections.Generic;
+//using System.Diagnostics;
+//using System.Globalization;
+//using System.IO;
+//using System.Linq;
+//using System.Text;
+//using System.Text.RegularExpressions;
+//using System.Threading.Tasks;
+//using VW;
+//using VW.Azure.Trainer;
+//using VW.Azure.Trainer.Checkpoint;
+//using VW.Serializer;
+
+//namespace cs_unittest
+//{
+// [TestClass]
+// public class TestAzure
+// {
+// public class SharedFeatures
+// {
+// public string Location { get; set; }
+// }
+
+// public class ActionNamespace
+// {
+// public float Category { get; set; }
+// }
+
+// public class ActionFeatures
+// {
+// [JsonProperty("b")]
+// public ActionNamespace Namespace { get; set; }
+
+// // TODO: _tag
+// }
+
+// public class Context
+// {
+// // TODO: _ProbabilityOfDrop
+
+// [JsonIgnore]
+// public int Index { get; set; }
+
+// [JsonIgnore]
+// public string JSON
+// {
+// get { return JsonConvert.SerializeObject(this); }
+// }
+
+// [JsonIgnore]
+// public byte[] JSONAsBytes
+// {
+// get { return Encoding.UTF8.GetBytes(this.JSON); }
+// }
+
+// [JsonProperty("_eventid")]
+// public string EventId { get; set; }
+
+// [JsonProperty("_timestamp")]
+// public DateTime Timestamp { get; set; }
+
+// [JsonProperty("_a")]
+// public int[] ActionIndicies { get; set; }
+
+// [JsonProperty("_p")]
+// public float[] Probabilities { get; set; }
+
+// [JsonProperty("_label_action")]
+// public int LabelAction { get; set; }
+
+// [JsonProperty("_label_cost")]
+// public float LabelCost { get; set; }
+
+// [JsonProperty("_label_probability")]
+// public float LabelProbability { get; set; }
+
+// [JsonProperty("_labelindex")]
+// public int LabelIndex { get; set; }
+
+// [JsonProperty("a")]
+// public SharedFeatures Shared { get; set; }
+
+// [JsonProperty("_multi")]
+// public ActionFeatures[] Actions { get; set; }
+// }
+
+// private static string GetConfiguration(string name)
+// {
+// var value = Environment.GetEnvironmentVariable(name);
+// if (!string.IsNullOrEmpty(value))
+// return value.Trim();
+
+// var path = Directory.GetCurrentDirectory();
+// do
+// {
+// var filename = Path.Combine(path, "vw_azure.config");
+// if (File.Exists(filename))
+// {
+// var q = from line in File.ReadAllLines(filename)
+// let m = Regex.Match(line, @"^(\S+)\s*=(.*)$")
+// where m.Success
+// where m.Groups[1].Value == name
+// select m.Groups[2].Value;
+
+// value = q.FirstOrDefault();
+// if (!string.IsNullOrEmpty(value))
+// return value.Trim();
+// }
+
+// var di = Directory.GetParent(path);
+// if (di == null)
+// Assert.Fail($"Configuration variable '{name}' not found. Search for environment variable or vw_azure.config");
+
+// path = di.FullName;
+// }
+// while (true);
+// }
+
+// private class OnlineTrainerWrapper : IDisposable
+// {
+// internal string trainArguments;
+// internal OnlineTrainerBlobs Blobs;
+
+// private string storageConnectionString = GetConfiguration("storageConnectionString");
+// private string inputEventHubConnectionString = GetConfiguration("inputEventHubConnectionString");
+// private string evalEventHubConnectionString = GetConfiguration("evalEventHubConnectionString");
+// private SynchronizedCollection exceptions;
+// private LearnEventProcessorHost trainProcesserHost;
+
+// internal OnlineTrainerWrapper(string trainArguments)
+// {
+// this.trainArguments = trainArguments;
+
+// Blobs = new OnlineTrainerBlobs(storageConnectionString);
+
+// // register with AppInsights to collect exceptions
+// // need to set the instrumentation key, otherwise the processor is ignored.
+// TelemetryConfiguration.Active.InstrumentationKey = "00000000-0000-0000-0000-000000000000";
+// exceptions = new SynchronizedCollection();
+// var builder = TelemetryConfiguration.Active.TelemetryProcessorChainBuilder;
+// builder.Use((next) => new TestTelemetryProcessor(next, exceptions));
+// builder.Build();
+// }
+
+// void AssertNoExceptionsThroughAppInsights()
+// {
+// Assert.AreEqual(0, exceptions.Count, string.Join("\n", exceptions.Select(e => e.Exception.Message + " " + e.Message)));
+// }
+
+// internal async Task StartAsync(ICheckpointPolicy checkpointPolicy)
+// {
+// trainProcesserHost = new LearnEventProcessorHost();
+// await trainProcesserHost.StartAsync(new OnlineTrainerSettingsInternal
+// {
+// CheckpointPolicy = checkpointPolicy,
+// JoinedEventHubConnectionString = inputEventHubConnectionString,
+// EvalEventHubConnectionString = evalEventHubConnectionString,
+// StorageConnectionString = storageConnectionString,
+// Metadata = new OnlineTrainerSettings
+// {
+// ApplicationID = "vwunittest",
+// TrainArguments = trainArguments
+// },
+// EnableExampleTracing = false,
+// EventHubStartDateTimeUtc = DateTime.UtcNow // ignore any events that arrived before this time
+// });
+
+// AssertNoExceptionsThroughAppInsights();
+// }
+
+// internal async Task PollTrainerCheckpoint(Predicate predicate)
+// {
+// // wait for trainer to checkpoint
+// await Blobs.PollTrainerCheckpoint(exceptions, predicate);
+// }
+
+// internal void SendData(IEnumerable data)
+// {
+// // send events to event hub
+// var eventHubInputClient = EventHubClient.CreateFromConnectionString(inputEventHubConnectionString);
+// data.ForEach(c => eventHubInputClient.Send(new EventData(c.JSONAsBytes) { PartitionKey = c.Index.ToString() }));
+// }
+
+// public void Dispose()
+// {
+// if (trainProcesserHost != null)
+// {
+// trainProcesserHost.Dispose();
+// trainProcesserHost = null;
+// }
+// }
+
+// internal void TrainOffline(string message, string modelId, Dictionary data, IEnumerable eventOrder, Uri onlineModelUri, string trainArguments = null)
+// {
+// // allow override
+// if (trainArguments == null)
+// trainArguments = this.trainArguments;
+
+// // train model offline using trackback
+// var settings = new VowpalWabbitSettings(trainArguments + $" --id {modelId} --save_resume --preserve_performance_counters -f offline.model");
+// using (var vw = new VowpalWabbitJson(settings))
+// {
+// foreach (var id in eventOrder)
+// {
+// var json = data[id].JSON;
+
+// var progressivePrediction = vw.Learn(json, VowpalWabbitPredictionType.ActionProbabilities);
+// // TODO: validate eval output
+// }
+// }
+
+// using (var vw = new VowpalWabbit("-i offline.model --save_resume --readable_model offline.model.txt -f offline.reset_perf_counters.model"))
+// { }
+
+// Blobs.DownloadFile(onlineModelUri, "online.model");
+// using (var vw = new VowpalWabbit("-i online.model --save_resume --readable_model online.model.txt -f online.reset_perf_counters.model"))
+// { }
+
+
+// // validate that the model is the same
+// CollectionAssert.AreEqual(
+// File.ReadAllBytes("offline.reset_perf_counters.model"),
+// File.ReadAllBytes("online.reset_perf_counters.model"),
+// $"{message}. Offline and online model differs. Compare online.model.txt with offline.model.txt to compare");
+// }
+// }
+
+// private async Task RunTrainer(string args, IEnumerable data, Dictionary dataMap, int expectedNumStates, bool cleanBlobs)
+// {
+// var trainer = new OnlineTrainerWrapper("--cb_explore_adf --epsilon 0.1 -q ab -l 0.1");
+
+// if (cleanBlobs)
+// trainer.Blobs.Cleanup().Wait();
+
+// // start listening for event hub
+// await trainer.StartAsync(new CountingCheckpointPolicy(100));
+
+// // send data to event hub
+// trainer.SendData(data);
+
+// await trainer.PollTrainerCheckpoint(blobs =>
+// blobs.ModelBlobs.Count == expectedNumStates &&
+// blobs.ModelTrackbackBlobs.Count == expectedNumStates &&
+// blobs.StateJsonBlobs.Count == expectedNumStates);
+
+// // download & parse trackback file
+// trainer.Blobs.DownloadTrackbacksOrderedByTime();
+
+// foreach (var trackback in trainer.Blobs.Trackbacks)
+// // due to checkpoint policy = 100
+// Assert.AreEqual(100, trackback.EventIds.Count, $"{trackback.Blob.Uri} does not contain the expected 100 events. Actual: {trackback.EventIds.Count}");
+
+// return trainer;
+// }
+
+// [TestMethod]
+// [TestCategory("NotOnVSO")]
+// [TestCategory("Vowpal Wabbit")]
+// [Ignore]
+// public async Task TestAzureTrainerRestart()
+// {
+// // generate data
+// var data = GenerateData(600).ToList();
+// var dataMap = data.ToDictionary(d => d.EventId, d => d);
+
+// var args = "--cb_explore_adf --epsilon 0.1 -q ab -l 0.1";
+
+// using (var trainer = await RunTrainer(args, data.Take(220), dataMap, expectedNumStates: 2, cleanBlobs: true))
+// {
+// trainer.TrainOffline("produce the 1st model", trainer.Blobs.Trackbacks[0].ModelId, dataMap, trainer.Blobs.Trackbacks[0].EventIds, trainer.Blobs.ModelBlobs[0].Uri);
+// // keep model for subsequent training
+// File.Copy("offline.model", "split1.model", overwrite: true);
+
+// trainer.TrainOffline("produce the 2nd model by training through all events", trainer.Blobs.Trackbacks[1].ModelId, dataMap, trainer.Blobs.Trackbacks.SelectMany(t => t.EventIds), trainer.Blobs.ModelBlobs[1].Uri);
+// File.Copy("offline.model", "split2.model", overwrite: true);
+
+// trainer.TrainOffline("produce the 2nd model by starting from the 1st and then continuing", trainer.Blobs.Trackbacks[1].ModelId, dataMap, trainer.Blobs.Trackbacks[1].EventIds, trainer.Blobs.ModelBlobs[1].Uri, "-i split1.model -l 0.1");
+// }
+
+// // restart trainer and resume from split2.model, covering "fresh -> load" transition
+// using (var trainer = await RunTrainer(args, data.Skip(220).Take(120), dataMap, expectedNumStates: 3, cleanBlobs: false))
+// {
+// var lastTrackback = trainer.Blobs.Trackbacks.Last();
+// var lastBlob = trainer.Blobs.ModelBlobs.Last();
+// trainer.TrainOffline("produce the 3rd model by training through all events", lastTrackback.ModelId, dataMap, trainer.Blobs.Trackbacks.SelectMany(t => t.EventIds), lastBlob.Uri);
+// trainer.TrainOffline("produce the 3rd model by starting from the 2nd and then continuing", lastTrackback.ModelId, dataMap, lastTrackback.EventIds, lastBlob.Uri, "-i split2.model -l 0.1");
+
+// File.Copy("offline.model", "split3.model", overwrite: true);
+// }
+
+// // restart ones more to cover "load -> save"
+// using (var trainer = await RunTrainer(args, data.Skip(340).Take(120), dataMap, expectedNumStates: 4, cleanBlobs: false))
+// {
+// var lastTrackback = trainer.Blobs.Trackbacks.Last();
+// var lastBlob = trainer.Blobs.ModelBlobs.Last();
+// trainer.TrainOffline("produce the 4th model by training through all events", lastTrackback.ModelId, dataMap, trainer.Blobs.Trackbacks.SelectMany(t => t.EventIds), lastBlob.Uri);
+// trainer.TrainOffline("produce the 4th model by starting from the 3rd and then continuing", lastTrackback.ModelId, dataMap, lastTrackback.EventIds, lastBlob.Uri, "-i split3.model -l 0.1");
+// }
+// }
+
+// [TestMethod]
+// [TestCategory("NotOnVSO")]
+// [TestCategory("Vowpal Wabbit")]
+// [Ignore]
+// public async Task TestAzureTrainer()
+// {
+// using (var trainer = new OnlineTrainerWrapper("--cb_explore_adf --epsilon 0.2 -q ab"))
+// {
+// trainer.Blobs.Cleanup().Wait();
+
+// // generate data
+// var data = GenerateData(100).ToList();
+// var dataMap = data.ToDictionary(d => d.EventId, d => d);
+
+// // start listening for event hub
+// await trainer.StartAsync(new CountingCheckpointPolicy(data.Count));
+
+// // send data to event hub
+// trainer.SendData(data);
+
+// // wait for trainer to checkpoint
+// await trainer.PollTrainerCheckpoint(blobs => blobs.ModelBlobs.Count > 0 && blobs.ModelTrackbackBlobs.Count > 0 && blobs.StateJsonBlobs.Count > 0 );
+
+// // download & parse trackback file
+// trainer.Blobs.DownloadTrackbacksOrderedByTime();
+// Assert.AreEqual(1, trainer.Blobs.Trackbacks.Count);
+
+// var trackback = trainer.Blobs.Trackbacks[0];
+// Assert.AreEqual(data.Count, trackback.EventIds.Count);
+// Assert.AreEqual(1, trainer.Blobs.ModelBlobs.Count);
+
+// trainer.TrainOffline("train a model for this set of events", trackback.ModelId, dataMap, trackback.EventIds, trainer.Blobs.ModelBlobs[0].Uri);
+// }
+// }
+
+// [TestMethod]
+// [TestCategory("Vowpal Wabbit")]
+// public void TestCbProgressiveValidation()
+// {
+// int numExamples = 1024;
+// foreach (var cbType in new[] { "ips", "dr", "mtr" })
+// {
+// var trainArguments = $"--cb_explore_adf --epsilon 0.1 --bag 3 -q ab --power_t 0 -l 0.1 --cb_type {cbType} --random_seed 50";
+// int[] topActionCounts = new int[3];
+// using (var vw1 = new VowpalWabbitJson(trainArguments))
+// using (var vw2 = new VowpalWabbitJson(trainArguments))
+// {
+// foreach (var ex in GenerateData(numExamples))
+// {
+// var json = ex.JSON;
+
+// var pred1_a = vw1.Predict(json, VowpalWabbitPredictionType.ActionProbabilities);
+// var pred1_b = vw1.Learn(json, VowpalWabbitPredictionType.ActionProbabilities);
+
+// var pred2 = vw2.Learn(json, VowpalWabbitPredictionType.ActionProbabilities);
+
+// AreEqual(pred1_a, pred2, cbType);
+// AreEqual(pred1_b, pred2, cbType);
+
+// topActionCounts[pred2[0].Action]++;
- //Debug.WriteLine(json);
- //Debug.WriteLine("Prob1.pred: " + string.Join(",", pred1_a.Select(a=>$"{a.Action}:{a.Score}")));
- //Debug.WriteLine("Prob1.learn: " + string.Join(",", pred1_b.Select(a=>$"{a.Action}:{a.Score}")));
- //Debug.WriteLine("Prob2.learn: " + string.Join(",", pred2.Select(a=>$"{a.Action}:{a.Score}")));
- //Debug.WriteLine("");
- }
- }
-
- foreach (var count in topActionCounts)
- Assert.IsTrue(count < numExamples * 0.8, $"Unexpected action distribution: {count}");
- Debug.WriteLine($"cb_types: {cbType} " + string.Join(",", topActionCounts.Select((count, i) => $"{i}:{count}")));
- }
- }
-
- private static void AreEqual(ActionScore[] expected, ActionScore[] actual, string cbType)
- {
- Assert.AreEqual(expected.Length, actual.Length);
- for (int i = 0; i < expected.Length; i++)
- {
- Assert.AreEqual(expected[i].Action, actual[i].Action, $"cb_type: {cbType} Action mismatch at index {i}. Expected: {expected[i].Action} Actual: {actual[i].Action}");
- Assert.AreEqual(expected[i].Score, actual[i].Score, $"cb_type: {cbType} Score mismatch at index {i}. Expected: {expected[i].Score} Actual: {actual[i].Score}");
- }
- }
-
- internal class Trackback
- {
- public IListBlobItem Blob;
-
- public string ModelId;
-
- public List EventIds;
-
- public DateTime Timestamp;
- }
-
- private static IEnumerable GenerateData(int n)
- {
- var random = new Random(42);
- var locations = new[] { "east", "west" };
-
- for (int i = 0; i < n; i++)
- {
- var action = random.Next(2); // (i % 2);
- var prob = (float)random.NextDouble();
- var probs = action == 0 ? new[] { prob, 1 - prob } : new[] { 1 - prob, prob };
-
- yield return new Context
- {
- Index = i,
- ActionIndicies = new[] { 1, 2 },
- Probabilities = new[] { 0.5f, 0.5f },// probs,
- Timestamp = DateTime.UtcNow,
- EventId = Guid.NewGuid().ToString("n"),
- LabelAction = action + 1, // random.Next(1, 3), //action + 1,
- LabelCost = random.Next(4) - 2,
- LabelIndex = action, // action,
- LabelProbability = prob,
- Shared = new SharedFeatures { Location = locations[random.Next(2)] },
- Actions = new[]
- {
- new ActionFeatures { Namespace = new ActionNamespace { Category = (float)random.NextDouble() } },
- new ActionFeatures { Namespace = new ActionNamespace { Category = 1.5f + (float)random.NextDouble() } },
- new ActionFeatures { Namespace = new ActionNamespace { Category = 1.5f + (float)random.NextDouble() } }
- //new ActionFeatures { Namespace = new ActionNamespace { Category = "games" } },
- //new ActionFeatures { Namespace = new ActionNamespace { Category = "news" } }
- }
- };
- }
- }
-
- internal class OnlineTrainerBlobs
- {
- internal CloudBlobClient BlobClient;
- internal CloudBlobContainer ModelContainer;
- internal CloudBlockBlob CurrentModel;
- internal CloudBlobContainer TrainerContainer;
- internal List ModelBlobs;
- internal List ModelTrackbackBlobs;
- internal List StateJsonBlobs;
- internal List Trackbacks;
-
- internal OnlineTrainerBlobs(string storageConnectionString)
- {
- this.BlobClient = CloudStorageAccount.Parse(storageConnectionString).CreateCloudBlobClient();
-
- this.ModelContainer = this.BlobClient.GetContainerReference("mwt-models");
- this.CurrentModel = this.ModelContainer.GetBlockBlobReference("current");
- this.TrainerContainer = this.BlobClient.GetContainerReference("onlinetrainer");
- }
-
- internal void DownloadFile(Uri uri, string filename)
- {
- new CloudBlob(uri, BlobClient.Credentials).DownloadToFile(filename, FileMode.Create);
- }
-
- internal async Task Cleanup()
- {
- // don't delete the container as this will trigger a conflict unless we wait...
- if (this.ModelContainer.Exists())
- this.CurrentModel.DeleteIfExists();
-
- if (this.TrainerContainer.Exists())
- {
- // don't delete the container as this will trigger a conflict unless we wait...
- await Task.WhenAll(
- this.TrainerContainer.ListBlobs(useFlatBlobListing: true)
- .Select(blob => new CloudBlob(blob.Uri, this.BlobClient.Credentials).DeleteIfExistsAsync()));
- }
- }
-
- internal async Task PollTrainerCheckpoint(SynchronizedCollection exceptions, Predicate predicate)
- {
- // wait for files to show up
- for (int i = 0; i < 30; i++)
- {
- await Task.Delay(TimeSpan.FromSeconds(1));
-
- if (exceptions.Count > 0)
- Assert.Fail(string.Join(";", exceptions.Select(e => e.Message)));
-
- // mwt-models
- if (!this.ModelContainer.Exists())
- continue;
-
- // mwt-models/current
- if (!this.CurrentModel.Exists())
- continue;
-
- // onlinetrainer
- if (!this.TrainerContainer.Exists())
- continue;
-
- // onlinetrainer/20161128/002828
- var blobs = this.TrainerContainer.ListBlobs(useFlatBlobListing: true);
- this.ModelBlobs = blobs.Where(b => b.Uri.ToString().EndsWith("model"))
- .OrderBy(uri => DateTime.ParseExact(uri.Parent.Prefix, "yyyyMMdd/HHmmss/", CultureInfo.InvariantCulture))
- .ToList();
- this.ModelTrackbackBlobs = blobs.Where(b => b.Uri.ToString().EndsWith("model.trackback")).ToList();
- this.StateJsonBlobs = blobs.Where(b => !string.IsNullOrEmpty(b.Parent.Prefix) && b.Uri.ToString().EndsWith("state.json")).ToList();
-
- if (predicate(this))
- return;
- }
-
- Assert.Fail("Trainer didn't produce checkpoints");
- }
-
- internal void DownloadTrackbacksOrderedByTime()
- {
- this.Trackbacks = this.ModelTrackbackBlobs.Select(b =>
- {
- var trackbackStr = this.DownloadNonEmptyBlob(b);
-
- var trackback = trackbackStr.Split('\n');
- // modelid: faf5e313-46bb-4852-af05-576c3a1c2c67
- var m = Regex.Match(trackback[0], "^modelid: (.+)$");
-
- Assert.IsTrue(m.Success, $"Unable to extract model id from trackback file. Line '{trackback[0]}'");
-
- return new Trackback
- {
- Blob = b,
- Timestamp = DateTime.ParseExact(b.Parent.Prefix, "yyyyMMdd/HHmmss/", CultureInfo.InvariantCulture),
- ModelId = m.Groups[1].Value,
- EventIds = trackback.Skip(1).ToList()
- };
- })
- .OrderBy(x => x.Timestamp).ToList();
- }
-
- internal string DownloadNonEmptyBlob(IListBlobItem blob)
- {
- using (var memStream = new MemoryStream())
- {
- new CloudBlob(blob.Uri, this.BlobClient.Credentials).DownloadToStream(memStream);
- var content = Encoding.UTF8.GetString(memStream.ToArray());
- Assert.IsTrue(!string.IsNullOrWhiteSpace(content), $"File is empty: '{blob.Uri}'");
-
- return content;
- }
- }
- }
-
- //[TestMethod]
- //public void TestQueueDictionary()
- //{
- // var qd = new QueueDictionary();
-
- // Assert.IsNull(qd.Remove(1));
- // qd.Enqueue(1, "foo");
-
- // Assert.AreEqual("foo", qd.Remove(1));
- // Assert.AreEqual(0, qd.DequeueIf(_ => true).Count());
-
- // qd.Enqueue(1, "foo");
- // qd.Enqueue(2, "bar");
-
- // Assert.AreEqual(1, qd.DequeueIf(key => key == "foo").Count());
- // Assert.AreEqual("foo", qd.Remove(1));
- //}
- }
-}
+// //Debug.WriteLine(json);
+// //Debug.WriteLine("Prob1.pred: " + string.Join(",", pred1_a.Select(a=>$"{a.Action}:{a.Score}")));
+// //Debug.WriteLine("Prob1.learn: " + string.Join(",", pred1_b.Select(a=>$"{a.Action}:{a.Score}")));
+// //Debug.WriteLine("Prob2.learn: " + string.Join(",", pred2.Select(a=>$"{a.Action}:{a.Score}")));
+// //Debug.WriteLine("");
+// }
+// }
+
+// foreach (var count in topActionCounts)
+// Assert.IsTrue(count < numExamples * 0.8, $"Unexpected action distribution: {count}");
+// Debug.WriteLine($"cb_types: {cbType} " + string.Join(",", topActionCounts.Select((count, i) => $"{i}:{count}")));
+// }
+// }
+
+// private static void AreEqual(ActionScore[] expected, ActionScore[] actual, string cbType)
+// {
+// Assert.AreEqual(expected.Length, actual.Length);
+// for (int i = 0; i < expected.Length; i++)
+// {
+// Assert.AreEqual(expected[i].Action, actual[i].Action, $"cb_type: {cbType} Action mismatch at index {i}. Expected: {expected[i].Action} Actual: {actual[i].Action}");
+// Assert.AreEqual(expected[i].Score, actual[i].Score, $"cb_type: {cbType} Score mismatch at index {i}. Expected: {expected[i].Score} Actual: {actual[i].Score}");
+// }
+// }
+
+// internal class Trackback
+// {
+// public IListBlobItem Blob;
+
+// public string ModelId;
+
+// public List EventIds;
+
+// public DateTime Timestamp;
+// }
+
+// private static IEnumerable GenerateData(int n)
+// {
+// var random = new Random(42);
+// var locations = new[] { "east", "west" };
+
+// for (int i = 0; i < n; i++)
+// {
+// var action = random.Next(2); // (i % 2);
+// var prob = (float)random.NextDouble();
+// var probs = action == 0 ? new[] { prob, 1 - prob } : new[] { 1 - prob, prob };
+
+// yield return new Context
+// {
+// Index = i,
+// ActionIndicies = new[] { 1, 2 },
+// Probabilities = new[] { 0.5f, 0.5f },// probs,
+// Timestamp = DateTime.UtcNow,
+// EventId = Guid.NewGuid().ToString("n"),
+// LabelAction = action + 1, // random.Next(1, 3), //action + 1,
+// LabelCost = random.Next(4) - 2,
+// LabelIndex = action, // action,
+// LabelProbability = prob,
+// Shared = new SharedFeatures { Location = locations[random.Next(2)] },
+// Actions = new[]
+// {
+// new ActionFeatures { Namespace = new ActionNamespace { Category = (float)random.NextDouble() } },
+// new ActionFeatures { Namespace = new ActionNamespace { Category = 1.5f + (float)random.NextDouble() } },
+// new ActionFeatures { Namespace = new ActionNamespace { Category = 1.5f + (float)random.NextDouble() } }
+// //new ActionFeatures { Namespace = new ActionNamespace { Category = "games" } },
+// //new ActionFeatures { Namespace = new ActionNamespace { Category = "news" } }
+// }
+// };
+// }
+// }
+
+// internal class OnlineTrainerBlobs
+// {
+// internal CloudBlobClient BlobClient;
+// internal CloudBlobContainer ModelContainer;
+// internal CloudBlockBlob CurrentModel;
+// internal CloudBlobContainer TrainerContainer;
+// internal List ModelBlobs;
+// internal List ModelTrackbackBlobs;
+// internal List StateJsonBlobs;
+// internal List Trackbacks;
+
+// internal OnlineTrainerBlobs(string storageConnectionString)
+// {
+// this.BlobClient = CloudStorageAccount.Parse(storageConnectionString).CreateCloudBlobClient();
+
+// this.ModelContainer = this.BlobClient.GetContainerReference("mwt-models");
+// this.CurrentModel = this.ModelContainer.GetBlockBlobReference("current");
+// this.TrainerContainer = this.BlobClient.GetContainerReference("onlinetrainer");
+// }
+
+// internal void DownloadFile(Uri uri, string filename)
+// {
+// new CloudBlob(uri, BlobClient.Credentials).DownloadToFile(filename, FileMode.Create);
+// }
+
+// internal async Task Cleanup()
+// {
+// // don't delete the container as this will trigger a conflict unless we wait...
+// if (this.ModelContainer.Exists())
+// this.CurrentModel.DeleteIfExists();
+
+// if (this.TrainerContainer.Exists())
+// {
+// // don't delete the container as this will trigger a conflict unless we wait...
+// await Task.WhenAll(
+// this.TrainerContainer.ListBlobs(useFlatBlobListing: true)
+// .Select(blob => new CloudBlob(blob.Uri, this.BlobClient.Credentials).DeleteIfExistsAsync()));
+// }
+// }
+
+// internal async Task PollTrainerCheckpoint(SynchronizedCollection exceptions, Predicate predicate)
+// {
+// // wait for files to show up
+// for (int i = 0; i < 30; i++)
+// {
+// await Task.Delay(TimeSpan.FromSeconds(1));
+
+// if (exceptions.Count > 0)
+// Assert.Fail(string.Join(";", exceptions.Select(e => e.Message)));
+
+// // mwt-models
+// if (!this.ModelContainer.Exists())
+// continue;
+
+// // mwt-models/current
+// if (!this.CurrentModel.Exists())
+// continue;
+
+// // onlinetrainer
+// if (!this.TrainerContainer.Exists())
+// continue;
+
+// // onlinetrainer/20161128/002828
+// var blobs = this.TrainerContainer.ListBlobs(useFlatBlobListing: true);
+// this.ModelBlobs = blobs.Where(b => b.Uri.ToString().EndsWith("model"))
+// .OrderBy(uri => DateTime.ParseExact(uri.Parent.Prefix, "yyyyMMdd/HHmmss/", CultureInfo.InvariantCulture))
+// .ToList();
+// this.ModelTrackbackBlobs = blobs.Where(b => b.Uri.ToString().EndsWith("model.trackback")).ToList();
+// this.StateJsonBlobs = blobs.Where(b => !string.IsNullOrEmpty(b.Parent.Prefix) && b.Uri.ToString().EndsWith("state.json")).ToList();
+
+// if (predicate(this))
+// return;
+// }
+
+// Assert.Fail("Trainer didn't produce checkpoints");
+// }
+
+// internal void DownloadTrackbacksOrderedByTime()
+// {
+// this.Trackbacks = this.ModelTrackbackBlobs.Select(b =>
+// {
+// var trackbackStr = this.DownloadNonEmptyBlob(b);
+
+// var trackback = trackbackStr.Split('\n');
+// // modelid: faf5e313-46bb-4852-af05-576c3a1c2c67
+// var m = Regex.Match(trackback[0], "^modelid: (.+)$");
+
+// Assert.IsTrue(m.Success, $"Unable to extract model id from trackback file. Line '{trackback[0]}'");
+
+// return new Trackback
+// {
+// Blob = b,
+// Timestamp = DateTime.ParseExact(b.Parent.Prefix, "yyyyMMdd/HHmmss/", CultureInfo.InvariantCulture),
+// ModelId = m.Groups[1].Value,
+// EventIds = trackback.Skip(1).ToList()
+// };
+// })
+// .OrderBy(x => x.Timestamp).ToList();
+// }
+
+// internal string DownloadNonEmptyBlob(IListBlobItem blob)
+// {
+// using (var memStream = new MemoryStream())
+// {
+// new CloudBlob(blob.Uri, this.BlobClient.Credentials).DownloadToStream(memStream);
+// var content = Encoding.UTF8.GetString(memStream.ToArray());
+// Assert.IsTrue(!string.IsNullOrWhiteSpace(content), $"File is empty: '{blob.Uri}'");
+
+// return content;
+// }
+// }
+// }
+
+// //[TestMethod]
+// //public void TestQueueDictionary()
+// //{
+// // var qd = new QueueDictionary();
+
+// // Assert.IsNull(qd.Remove(1));
+// // qd.Enqueue(1, "foo");
+
+// // Assert.AreEqual("foo", qd.Remove(1));
+// // Assert.AreEqual(0, qd.DequeueIf(_ => true).Count());
+
+// // qd.Enqueue(1, "foo");
+// // qd.Enqueue(2, "bar");
+
+// // Assert.AreEqual(1, qd.DequeueIf(key => key == "foo").Count());
+// // Assert.AreEqual("foo", qd.Remove(1));
+// //}
+// }
+//}
diff --git a/cs/unittest/cs_unittest.csproj b/cs/unittest/cs_unittest.csproj
index e5a1f952c1d..6c786f55600 100644
--- a/cs/unittest/cs_unittest.csproj
+++ b/cs/unittest/cs_unittest.csproj
@@ -1,4 +1,4 @@
-
+
@@ -217,10 +217,6 @@
-
- {43e32c1d-21d6-4be3-8fa5-d5ba379cba53}
- azure
-
{e4e962ae-7056-4eb0-a8c5-8dc824a4b068}
cs
@@ -324,4 +320,4 @@
-->
-
+
\ No newline at end of file
diff --git a/deploy_vw/deploy_vw.vcxproj b/deploy_vw/deploy_vw.vcxproj
deleted file mode 100644
index e0671db7ae5..00000000000
--- a/deploy_vw/deploy_vw.vcxproj
+++ /dev/null
@@ -1,297 +0,0 @@
-
-
-
-
- DebugLeakCheck
- Win32
-
-
- DebugLeakCheck
- x64
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
-
- {D3D9B744-D0FC-4BC7-94A8-89C1AC5692DE}
- deploy_vw
- ..\vowpalwabbit\
-
- ..\sdl\SDL-7.0-Recommended.ruleset
- true
-
-
-
- Application
- true
- v140
- MultiByte
-
-
- Application
- true
- v140
- MultiByte
-
-
- Application
- true
- v140
- MultiByte
-
-
- Application
- true
- v140
- MultiByte
-
-
- Application
- false
- v140
- true
- MultiByte
-
-
- Application
- false
- v140
- true
- MultiByte
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $(SolutionDir)deploy\$(PlatformShortName)\$(Configuration)\
- $(SolutionDir)deploy\stage\$(PlatformShortName)\$(Configuration)\
- Clean
-
-
- $(SolutionDir)deploy\$(PlatformShortName)\$(Configuration)\
- $(SolutionDir)deploy\stage\$(PlatformShortName)\$(Configuration)\
- Clean
-
-
- $(SolutionDir)deploy\$(PlatformShortName)\$(Configuration)\
- $(SolutionDir)deploy\stage\$(PlatformShortName)\$(Configuration)\
- Clean
-
-
- $(SolutionDir)deploy\$(PlatformShortName)\$(Configuration)\
- $(SolutionDir)deploy\stage\$(PlatformShortName)\$(Configuration)\
- Clean
-
-
- $(SolutionDir)deploy\$(PlatformShortName)\$(Configuration)\
- $(SolutionDir)deploy\stage\$(PlatformShortName)\$(Configuration)\
- Clean
-
-
- $(SolutionDir)deploy\$(PlatformShortName)\$(Configuration)\
- $(SolutionDir)deploy\stage\$(PlatformShortName)\$(Configuration)\
- Clean
-
-
-
- Level3
- Disabled
- true
-
-
- true
-
-
- rd /s /y $(OutputPath)
-
-
- Cleaning Deploy
-
-
- xcopy /f /v /i /r /y "$(SolutionDir)$(PlatformShortName)\$(Configuration)\vw.exe" "$(OutputPath)"
-xcopy /f /v /i /r /y "$(SolutionDir)$(PlatformShortName)\$(Configuration)\vw.pdb" "$(OutputPath)"
-xcopy /f /v /i /r /y "$(SolutionDir)$(PlatformShortName)\$(Configuration)\spanning_tree.exe" "$(OutputPath)"
-xcopy /f /v /i /r /y "$(SolutionDir)$(PlatformShortName)\$(Configuration)\spanning_tree.pdb" "$(OutputPath)"
-xcopy /v /i /r /y "$(VCInstallDir)\redist\Debug_NonRedist\$(PlatformShortName)\Microsoft.VC120.DebugCRT" "$(OutputPath)"
-xcopy /v /i /r /y "%$(VCInstallDir)redist\Debug_NonRedist\$(PlatformShortName)\Microsoft.VC120.DebugCXXAMP" "$(OutputPath)"
-xcopy /v /i /r /y "$(VCInstallDir)redist\Debug_NonRedist\$(PlatformShortName)\Microsoft.VC120.DebugOPENMP" "$(OutputPath)"
-
-
-
-
-
- Level3
- Disabled
- true
-
-
- true
-
-
- rd /s /y $(OutputPath)
-
-
- Cleaning Deploy
-
-
- xcopy /f /v /i /r /y "$(SolutionDir)$(PlatformShortName)\$(Configuration)\vw.exe" "$(OutputPath)"
-xcopy /f /v /i /r /y "$(SolutionDir)$(PlatformShortName)\$(Configuration)\vw.pdb" "$(OutputPath)"
-xcopy /f /v /i /r /y "$(SolutionDir)$(PlatformShortName)\$(Configuration)\spanning_tree.exe" "$(OutputPath)"
-xcopy /f /v /i /r /y "$(SolutionDir)$(PlatformShortName)\$(Configuration)\spanning_tree.pdb" "$(OutputPath)"
-xcopy /v /i /r /y "$(VCInstallDir)\redist\Debug_NonRedist\$(PlatformShortName)\Microsoft.VC120.DebugCRT" "$(OutputPath)"
-xcopy /v /i /r /y "%$(VCInstallDir)redist\Debug_NonRedist\$(PlatformShortName)\Microsoft.VC120.DebugCXXAMP" "$(OutputPath)"
-xcopy /v /i /r /y "$(VCInstallDir)redist\Debug_NonRedist\$(PlatformShortName)\Microsoft.VC120.DebugOPENMP" "$(OutputPath)"
-
-
-
-
-
- Level3
- Disabled
- true
-
-
- true
-
-
- rd /s /y $(OutputPath)
-
-
- Cleaning Deploy
-
-
- xcopy /f /v /i /r /y "$(SolutionDir)$(PlatformShortName)\$(Configuration)\vw.exe" "$(OutputPath)"
-xcopy /f /v /i /r /y "$(SolutionDir)$(PlatformShortName)\$(Configuration)\vw.pdb" "$(OutputPath)"
-xcopy /f /v /i /r /y "$(SolutionDir)$(PlatformShortName)\$(Configuration)\spanning_tree.exe" "$(OutputPath)"
-xcopy /f /v /i /r /y "$(SolutionDir)$(PlatformShortName)\$(Configuration)\spanning_tree.pdb" "$(OutputPath)"
-xcopy /v /i /r /y "$(VCInstallDir)\redist\Debug_NonRedist\$(PlatformShortName)\Microsoft.VC120.DebugCRT" "$(OutputPath)"
-xcopy /v /i /r /y "%$(VCInstallDir)redist\Debug_NonRedist\$(PlatformShortName)\Microsoft.VC120.DebugCXXAMP" "$(OutputPath)"
-xcopy /v /i /r /y "$(VCInstallDir)redist\Debug_NonRedist\$(PlatformShortName)\Microsoft.VC120.DebugOPENMP" "$(OutputPath)"
-
-
-
-
-
- Level3
- Disabled
- true
-
-
- true
-
-
- rd /s /y $(OutputPath)
-
-
- Cleaning Deploy
-
-
- xcopy /f /v /i /r /y "$(SolutionDir)$(PlatformShortName)\$(Configuration)\vw.exe" "$(OutputPath)"
-xcopy /f /v /i /r /y "$(SolutionDir)$(PlatformShortName)\$(Configuration)\vw.pdb" "$(OutputPath)"
-xcopy /f /v /i /r /y "$(SolutionDir)$(PlatformShortName)\$(Configuration)\spanning_tree.exe" "$(OutputPath)"
-xcopy /f /v /i /r /y "$(SolutionDir)$(PlatformShortName)\$(Configuration)\spanning_tree.pdb" "$(OutputPath)"
-xcopy /v /i /r /y "$(VCInstallDir)\redist\Debug_NonRedist\$(PlatformShortName)\Microsoft.VC120.DebugCRT" "$(OutputPath)"
-xcopy /v /i /r /y "%$(VCInstallDir)redist\Debug_NonRedist\$(PlatformShortName)\Microsoft.VC120.DebugCXXAMP" "$(OutputPath)"
-xcopy /v /i /r /y "$(VCInstallDir)redist\Debug_NonRedist\$(PlatformShortName)\Microsoft.VC120.DebugOPENMP" "$(OutputPath)"
-
-
-
-
-
- Level3
- MaxSpeed
- true
- true
- true
-
-
- true
- true
- true
-
-
- rd /s /y $(OutputPath)
-
-
- Cleaning Deploy
-
-
- xcopy /f /v /i /r /y "$(SolutionDir)$(PlatformShortName)\$(Configuration)\vw.exe" "$(OutputPath)"
-xcopy /f /v /i /r /y "$(SolutionDir)$(PlatformShortName)\$(Configuration)\spanning_tree.exe" "$(OutputPath)"
-xcopy /v /i /r /y "$(VCInstallDir)\redist\$(PlatformShortName)\Microsoft.VC120.CRT" "$(OutputPath)"
-xcopy /v /i /r /y "%$(VCInstallDir)redist\$(PlatformShortName)\Microsoft.VC120.CXXAMP" "$(OutputPath)"
-xcopy /v /i /r /y "$(VCInstallDir)redist\$(PlatformShortName)\Microsoft.VC120.OPENMP" "$(OutputPath)"
-
-
-
-
- Level3
- MaxSpeed
- true
- true
- true
-
-
- true
- true
- true
-
-
- rd /s /y $(OutputPath)
-
-
- Cleaning Deploy
-
-
- xcopy /f /v /i /r /y "$(SolutionDir)$(PlatformShortName)\$(Configuration)\vw.exe" "$(OutputPath)"
-xcopy /f /v /i /r /y "$(SolutionDir)$(PlatformShortName)\$(Configuration)\spanning_tree.exe" "$(OutputPath)"
-xcopy /v /i /r /y "$(VCInstallDir)\redist\$(PlatformShortName)\Microsoft.VC120.CRT" "$(OutputPath)"
-xcopy /v /i /r /y "%$(VCInstallDir)redist\$(PlatformShortName)\Microsoft.VC120.CXXAMP" "$(OutputPath)"
-xcopy /v /i /r /y "$(VCInstallDir)redist\$(PlatformShortName)\Microsoft.VC120.OPENMP" "$(OutputPath)"
-
-
-
-
-
-
-
-
- This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
-
-
-
-
-
\ No newline at end of file
diff --git a/python/windows27/python27.vcxproj b/python/windows27/python27.vcxproj
index bd1817dcea9..11e0adac632 100644
--- a/python/windows27/python27.vcxproj
+++ b/python/windows27/python27.vcxproj
@@ -94,7 +94,7 @@
-
+
{1e205806-7f80-47dd-a38d-fc08083f3593}
diff --git a/python/windows35/python35.vcxproj b/python/windows35/python35.vcxproj
index 9809d46986c..b62033ccbb0 100644
--- a/python/windows35/python35.vcxproj
+++ b/python/windows35/python35.vcxproj
@@ -91,7 +91,7 @@
-
+
{1e205806-7f80-47dd-a38d-fc08083f3593}
diff --git a/python/windows36/python36.vcxproj b/python/windows36/python36.vcxproj
index e4c45dd6442..ef122da3451 100644
--- a/python/windows36/python36.vcxproj
+++ b/python/windows36/python36.vcxproj
@@ -90,7 +90,7 @@
-
+
{1e205806-7f80-47dd-a38d-fc08083f3593}
diff --git a/reinforcement_learning/examples/basic_usage_cpp/basic_usage_cpp.vcxproj b/reinforcement_learning/examples/basic_usage_cpp/basic_usage_cpp.vcxproj
index d26470b9e4c..3f9f0c8396e 100644
--- a/reinforcement_learning/examples/basic_usage_cpp/basic_usage_cpp.vcxproj
+++ b/reinforcement_learning/examples/basic_usage_cpp/basic_usage_cpp.vcxproj
@@ -172,6 +172,7 @@
+
This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
diff --git a/reinforcement_learning/examples/override_interface/override_interface.vcxproj b/reinforcement_learning/examples/override_interface/override_interface.vcxproj
index d36365b5963..85a55d394f3 100644
--- a/reinforcement_learning/examples/override_interface/override_interface.vcxproj
+++ b/reinforcement_learning/examples/override_interface/override_interface.vcxproj
@@ -169,6 +169,7 @@
+
This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
diff --git a/reinforcement_learning/examples/rl_sim_cpp/rl_sim_cpp.vcxproj b/reinforcement_learning/examples/rl_sim_cpp/rl_sim_cpp.vcxproj
index 1b3b28e77b4..62d7999ee03 100644
--- a/reinforcement_learning/examples/rl_sim_cpp/rl_sim_cpp.vcxproj
+++ b/reinforcement_learning/examples/rl_sim_cpp/rl_sim_cpp.vcxproj
@@ -180,6 +180,7 @@
+
This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
diff --git a/reinforcement_learning/examples/test_cpp/test_cpp.vcxproj b/reinforcement_learning/examples/test_cpp/test_cpp.vcxproj
index 7db497d4e99..d5dd238ff2a 100644
--- a/reinforcement_learning/examples/test_cpp/test_cpp.vcxproj
+++ b/reinforcement_learning/examples/test_cpp/test_cpp.vcxproj
@@ -175,6 +175,7 @@
+
This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
diff --git a/reinforcement_learning/rlclientlib/rlclientlib.vcxproj b/reinforcement_learning/rlclientlib/rlclientlib.vcxproj
index 6a410440503..f6354ecf917 100644
--- a/reinforcement_learning/rlclientlib/rlclientlib.vcxproj
+++ b/reinforcement_learning/rlclientlib/rlclientlib.vcxproj
@@ -195,7 +195,7 @@
-
+
{1e205806-7f80-47dd-a38d-fc08083f3593}
@@ -206,6 +206,7 @@
+
This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
diff --git a/reinforcement_learning/unit_test/unit_test.vcxproj b/reinforcement_learning/unit_test/unit_test.vcxproj
index 87990bc184b..32cff723496 100644
--- a/reinforcement_learning/unit_test/unit_test.vcxproj
+++ b/reinforcement_learning/unit_test/unit_test.vcxproj
@@ -198,6 +198,7 @@
+
This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
diff --git a/test/unit_test/unit_test.vcxproj b/test/unit_test/unit_test.vcxproj
index 4995ce0da3b..c8d380c9cbd 100644
--- a/test/unit_test/unit_test.vcxproj
+++ b/test/unit_test/unit_test.vcxproj
@@ -26,7 +26,7 @@
-
+
{1e205806-7f80-47dd-a38d-fc08083f3593}
@@ -80,36 +80,17 @@
-
+
true
- $(Platform)\$(Configuration)\
- $(SolutionDir)$(Platform)\$(Configuration)\
-
- true
-
-
+
false
- $(Platform)\$(Configuration)\
- $(SolutionDir)$(Platform)\$(Configuration)\
-
- false
+
+ $(SolutionDir)out\target\$(Configuration)\$(PlatformShortName)\
+ $(SolutionDir)out\int\$(Configuration)\$(PlatformShortName)\$(ProjectName)\
-
-
-
- Level3
- Disabled
- WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
- true
-
-
- Console
- true
-
-
-
+
@@ -123,27 +104,11 @@
true
-
+
Level3
-
- MaxSpeed
- true
- true
- WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
- true
-
-
- Console
- true
- true
- true
-
-
-
-
- Level3
-
+
+
MaxSpeed
true
true
@@ -184,10 +149,12 @@
%(PreprocessorDefinitions)
- true
- true
- true
- true
+ true
+
+
+ xcopy /Y ..\..\vowpalwabbit\packages\boost_unit_test_framework-vc140.1.63.0.0\lib\native\address-model-64\lib\*.dll $(OutDir)
+ xcopy /Y ..\..\vowpalwabbit\packages\boost_unit_test_framework-vc140.1.63.0.0\lib\native\address-model-32\lib\*.dll $(OutDir)
+
-
+
\ No newline at end of file
diff --git a/vowpalwabbit/cs_vld/cs_vld.vcxproj b/vowpalwabbit/cs_vld/cs_vld.vcxproj
deleted file mode 100644
index f87663ccb2e..00000000000
--- a/vowpalwabbit/cs_vld/cs_vld.vcxproj
+++ /dev/null
@@ -1,89 +0,0 @@
-
-
-
-
- Debug
- x64
-
-
- Release
- x64
-
-
-
- {3D57A6AF-DE8C-40DC-ABDE-E4CE1B9C0D20}
- v4.5
- ManagedCProj
- cs_vld
-
-
-
- DynamicLibrary
- true
- v120
- true
- Unicode
-
-
- DynamicLibrary
- false
- v120
- true
- Unicode
-
-
-
-
-
-
-
-
-
-
-
-
- true
-
-
- false
-
-
-
- Level3
- Disabled
- WIN32;_DEBUG;%(PreprocessorDefinitions)
- NotUsing
-
-
- true
-
-
-
-
-
-
- Level3
- WIN32;NDEBUG;%(PreprocessorDefinitions)
- Use
-
-
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vowpalwabbit/libvw.vcxproj b/vowpalwabbit/libvw.vcxproj
index c681e15dc04..8ea0e97140c 100644
--- a/vowpalwabbit/libvw.vcxproj
+++ b/vowpalwabbit/libvw.vcxproj
@@ -1,14 +1,6 @@
-
- DebugLeakCheck
- Win32
-
-
- DebugLeakCheck
- x64
-
Debug
Win32
@@ -37,38 +29,13 @@
true
-
- DynamicLibrary
- true
- Unicode
- v140
-
-
+
DynamicLibrary
true
Unicode
v140
-
- DynamicLibrary
- true
- Unicode
- v140
-
-
- DynamicLibrary
- true
- Unicode
- v140
-
-
- DynamicLibrary
- false
- true
- Unicode
- v140
-
-
+
DynamicLibrary
false
true
@@ -82,15 +49,9 @@
-
-
-
-
-
-
@@ -100,38 +61,13 @@
f1e5a9b3
-
- true
-
-
- true
-
-
- true
-
-
+
true
-
- false
-
-
+
false
-
-
-
-
- Level3
- Disabled
- WIN32;_DEBUG;_WINDOWS;_USRDLL;VWDLL_EXPORTS;%(PreprocessorDefinitions)
-
-
- Windows
- true
-
-
-
+
@@ -144,50 +80,7 @@
true
-
-
-
-
- Level3
- Disabled
- WIN32;_DEBUG;_WINDOWS;_USRDLL;VWDLL_EXPORTS;%(PreprocessorDefinitions)
-
-
- Windows
- true
-
-
-
-
-
-
- Level3
- Disabled
- WIN32;_DEBUG;_WINDOWS;_USRDLL;VWDLL_EXPORTS;%(PreprocessorDefinitions)
-
-
- Windows
- true
-
-
-
-
- Level3
-
-
- MaxSpeed
- true
- true
- WIN32;NDEBUG;_WINDOWS;_USRDLL;VWDLL_EXPORTS;%(PreprocessorDefinitions)
-
-
- Windows
- true
- true
- true
-
-
-
+
Level3
@@ -206,33 +99,36 @@
- $(BoostIncludeDir);$(ZlibIncludeDir);$(VLDIncludeDir);./win32;%(AdditionalIncludeDirectories);%(SolutionDir)..\rapidjson\include;%(SolutionDir)..\explore
+ $(BoostIncludeDir);$(ZlibIncludeDir);./win32;%(AdditionalIncludeDirectories);%(SolutionDir)..\rapidjson\include;%(SolutionDir)..\explore
ZLIB_WINAPI;%(PreprocessorDefinitions)
/D "_CRT_SECURE_NO_WARNINGS" /D "_CRT_NONSTDC_NO_DEPRECATE" %(AdditionalOptions)
+ true
+
AnySuitable
Speed
true
false
- MultiThreadedDLL
- MultiThreadedDebugDLL
- MultiThreadedDebug
+ MultiThreadedDLL
+
+ ProgramDatabase
+ false
+ false
+ MultiThreadedDebugDLL
- $(SolutionDir)\x86\$(Configuration);%(AdditionalLibraryDirectories)
- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;$(SolutionDir)$(PlatformShortName)\$(Configuration)\vw_dynamic.lib;%(AdditionalDependencies)
+
+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;$(SolutionDir)out\target\$(Configuration)\$(PlatformShortName)\vw_core.lib;%(AdditionalDependencies)
win32\make_config_h.exe
-
- $(SolutionDir)dll\x64\$(Configuration)\
- $(SolutionDir)dll\x64\$(Configuration)\$(ProjectName)\
-
-
- $(SolutionDir)dll\x86\$(Configuration)\
- $(SolutionDir)dll\x86\$(Configuration)\
+
+
+ $(SolutionDir)out\target\$(Configuration)\$(PlatformShortName)\
+ $(SolutionDir)out\int\$(Configuration)\$(PlatformShortName)\$(ProjectName)\
+
@@ -243,14 +139,13 @@
-
+
{1e205806-7f80-47dd-a38d-fc08083f3593}
-
@@ -297,7 +192,6 @@
This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
-
diff --git a/vowpalwabbit/packages.config b/vowpalwabbit/packages.config
index 5f9d956dfbb..ce588fb3b89 100644
--- a/vowpalwabbit/packages.config
+++ b/vowpalwabbit/packages.config
@@ -41,5 +41,4 @@
-
diff --git a/vowpalwabbit/vw.sln b/vowpalwabbit/vw.sln
index 0c7382f3f80..bf3f28d948a 100644
--- a/vowpalwabbit/vw.sln
+++ b/vowpalwabbit/vw.sln
@@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 14
-VisualStudioVersion = 14.0.25420.1
+# Visual Studio 15
+VisualStudioVersion = 15.0.28016.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvw", "libvw.vcxproj", "{EA52DE0D-A5BE-4FB9-8C84-3A57BDFEBED9}"
EndProject
@@ -22,12 +22,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "c_test", "..\c_test\c_test.
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spanning_tree", "..\cluster\cluster.vcxproj", "{2720BCD9-6731-4A11-BA24-1F74E35BA97F}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "deploy_vw", "..\deploy_vw\deploy_vw.vcxproj", "{D3D9B744-D0FC-4BC7-94A8-89C1AC5692DE}"
- ProjectSection(ProjectDependencies) = postProject
- {1055A78F-1E3A-4E6C-BBF5-0B63299C4ADF} = {1055A78F-1E3A-4E6C-BBF5-0B63299C4ADF}
- {2720BCD9-6731-4A11-BA24-1F74E35BA97F} = {2720BCD9-6731-4A11-BA24-1F74E35BA97F}
- EndProjectSection
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{F867BBEE-0FA3-41E5-AE01-4808D75936D3}"
ProjectSection(SolutionItems) = preProject
.nuget\NuGet.Config = .nuget\NuGet.Config
@@ -47,30 +41,16 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cs_testhelp", "..\cs\testhe
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vw_common", "..\cs\common\vw_common.csproj", "{E621E022-C1F8-433F-905A-AB9A3DE072B7}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cs_leaktest", "..\cs\leaktest\cs_leaktest.csproj", "{492EA3A7-8A41-459E-BBC3-5A3FE9DDFC68}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cs_testcommon", "..\cs\testcommon\cs_testcommon.csproj", "{6A9CBEAB-427F-4D8D-9559-B76B42B0895C}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cs_vld", "..\cs\cli\cs_vld.vcxproj", "{3D57A6AF-DE8C-40DC-ABDE-E4CE1B9C0D20}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vw_dynamic", "vw_dynamic.vcxproj", "{1E205806-7F80-47DD-A38D-FC08083F3593}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vw_core", "vw_core.vcxproj", "{1E205806-7F80-47DD-A38D-FC08083F3593}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cs_console", "..\cs\cs_console\cs_console.csproj", "{01A85382-C3E9-480A-86BF-FAFE4AD107A7}"
EndProject
-Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "setup", "..\cs\setup\setup.wixproj", "{1F25D39D-71C3-4FDE-A58F-D3D5D4F6DFFB}"
-EndProject
-Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "setup_bundle", "..\cs\setup_bundle\setup_bundle.wixproj", "{A80650FD-7DCA-4B80-B52E-D22D5CAE9E92}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cs_json", "..\cs\cs_json\cs_json.csproj", "{9E27FA94-AB34-4736-8427-FB7A2BA90D52}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cs_parallel", "..\cs\cs_parallel\cs_parallel.csproj", "{08636F79-5577-4AF2-8EED-EC8A5BC14AC4}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "azure", "..\cs\azure\azure.csproj", "{43E32C1D-21D6-4BE3-8FA5-D5BA379CBA53}"
-EndProject
-Project("{CC5FD16D-436D-48AD-A40C-5A424C6E3E79}") = "azure_service", "..\cs\azure_service\azure_service.ccproj", "{7263F536-3ABE-4A8E-BA66-1341D6A53579}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "azure_worker", "..\cs\azure_worker\azure_worker.csproj", "{9DE727D8-FD1B-4144-8976-5371663D4C22}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "python", "python", "{5AF0ECDA-A523-4F8E-8537-E741983119CC}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "python27", "..\python\windows27\python27.vcxproj", "{7D381808-CC76-4A1A-A8E6-3F71278858BB}"
@@ -94,16 +74,13 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_cpp", "..\reinforcemen
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "override_interface", "..\reinforcement_learning\examples\override_interface\override_interface.vcxproj", "{8FF15F05-0D62-4B54-92B8-70A0EE2363AF}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unit_test", "..\test\unit_test\unit_test.vcxproj", "{E02E3869-D9AD-4513-B352-93F90B7D6FE3}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vw_unit_test", "..\test\unit_test\unit_test.vcxproj", "{E02E3869-D9AD-4513-B352-93F90B7D6FE3}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
- DebugLeakCheck|Any CPU = DebugLeakCheck|Any CPU
- DebugLeakCheck|x64 = DebugLeakCheck|x64
- DebugLeakCheck|x86 = DebugLeakCheck|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
@@ -111,13 +88,9 @@ Global
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{EA52DE0D-A5BE-4FB9-8C84-3A57BDFEBED9}.Debug|Any CPU.ActiveCfg = Debug|Win32
{EA52DE0D-A5BE-4FB9-8C84-3A57BDFEBED9}.Debug|x64.ActiveCfg = Debug|x64
+ {EA52DE0D-A5BE-4FB9-8C84-3A57BDFEBED9}.Debug|x64.Build.0 = Debug|x64
{EA52DE0D-A5BE-4FB9-8C84-3A57BDFEBED9}.Debug|x86.ActiveCfg = Debug|Win32
{EA52DE0D-A5BE-4FB9-8C84-3A57BDFEBED9}.Debug|x86.Build.0 = Debug|Win32
- {EA52DE0D-A5BE-4FB9-8C84-3A57BDFEBED9}.DebugLeakCheck|Any CPU.ActiveCfg = DebugLeakCheck|Win32
- {EA52DE0D-A5BE-4FB9-8C84-3A57BDFEBED9}.DebugLeakCheck|x64.ActiveCfg = DebugLeakCheck|x64
- {EA52DE0D-A5BE-4FB9-8C84-3A57BDFEBED9}.DebugLeakCheck|x64.Build.0 = DebugLeakCheck|x64
- {EA52DE0D-A5BE-4FB9-8C84-3A57BDFEBED9}.DebugLeakCheck|x86.ActiveCfg = DebugLeakCheck|Win32
- {EA52DE0D-A5BE-4FB9-8C84-3A57BDFEBED9}.DebugLeakCheck|x86.Build.0 = DebugLeakCheck|Win32
{EA52DE0D-A5BE-4FB9-8C84-3A57BDFEBED9}.Release|Any CPU.ActiveCfg = Release|Win32
{EA52DE0D-A5BE-4FB9-8C84-3A57BDFEBED9}.Release|x64.ActiveCfg = Release|x64
{EA52DE0D-A5BE-4FB9-8C84-3A57BDFEBED9}.Release|x64.Build.0 = Release|x64
@@ -128,12 +101,6 @@ Global
{D5E462FC-3DD6-4B65-A9E9-DA0B0B11D254}.Debug|x64.Build.0 = Debug|x64
{D5E462FC-3DD6-4B65-A9E9-DA0B0B11D254}.Debug|x86.ActiveCfg = Debug|x86
{D5E462FC-3DD6-4B65-A9E9-DA0B0B11D254}.Debug|x86.Build.0 = Debug|x86
- {D5E462FC-3DD6-4B65-A9E9-DA0B0B11D254}.DebugLeakCheck|Any CPU.ActiveCfg = DebugLeakCheck|Any CPU
- {D5E462FC-3DD6-4B65-A9E9-DA0B0B11D254}.DebugLeakCheck|Any CPU.Build.0 = DebugLeakCheck|Any CPU
- {D5E462FC-3DD6-4B65-A9E9-DA0B0B11D254}.DebugLeakCheck|x64.ActiveCfg = DebugLeakCheck|x64
- {D5E462FC-3DD6-4B65-A9E9-DA0B0B11D254}.DebugLeakCheck|x64.Build.0 = DebugLeakCheck|x64
- {D5E462FC-3DD6-4B65-A9E9-DA0B0B11D254}.DebugLeakCheck|x86.ActiveCfg = DebugLeakCheck|x86
- {D5E462FC-3DD6-4B65-A9E9-DA0B0B11D254}.DebugLeakCheck|x86.Build.0 = DebugLeakCheck|x86
{D5E462FC-3DD6-4B65-A9E9-DA0B0B11D254}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D5E462FC-3DD6-4B65-A9E9-DA0B0B11D254}.Release|x64.ActiveCfg = Release|x64
{D5E462FC-3DD6-4B65-A9E9-DA0B0B11D254}.Release|x64.Build.0 = Release|x64
@@ -144,10 +111,6 @@ Global
{1055A78F-1E3A-4E6C-BBF5-0B63299C4ADF}.Debug|x64.Build.0 = Debug|x64
{1055A78F-1E3A-4E6C-BBF5-0B63299C4ADF}.Debug|x86.ActiveCfg = Debug|Win32
{1055A78F-1E3A-4E6C-BBF5-0B63299C4ADF}.Debug|x86.Build.0 = Debug|Win32
- {1055A78F-1E3A-4E6C-BBF5-0B63299C4ADF}.DebugLeakCheck|Any CPU.ActiveCfg = DebugLeakCheck|Win32
- {1055A78F-1E3A-4E6C-BBF5-0B63299C4ADF}.DebugLeakCheck|x64.ActiveCfg = DebugLeakCheck|x64
- {1055A78F-1E3A-4E6C-BBF5-0B63299C4ADF}.DebugLeakCheck|x86.ActiveCfg = DebugLeakCheck|Win32
- {1055A78F-1E3A-4E6C-BBF5-0B63299C4ADF}.DebugLeakCheck|x86.Build.0 = DebugLeakCheck|Win32
{1055A78F-1E3A-4E6C-BBF5-0B63299C4ADF}.Release|Any CPU.ActiveCfg = Release|x64
{1055A78F-1E3A-4E6C-BBF5-0B63299C4ADF}.Release|Any CPU.Build.0 = Release|x64
{1055A78F-1E3A-4E6C-BBF5-0B63299C4ADF}.Release|x64.ActiveCfg = Release|x64
@@ -159,10 +122,6 @@ Global
{E5865596-E5F0-4CA3-B04A-4E34B798744A}.Debug|x64.Build.0 = Debug|x64
{E5865596-E5F0-4CA3-B04A-4E34B798744A}.Debug|x86.ActiveCfg = Debug|Win32
{E5865596-E5F0-4CA3-B04A-4E34B798744A}.Debug|x86.Build.0 = Debug|Win32
- {E5865596-E5F0-4CA3-B04A-4E34B798744A}.DebugLeakCheck|Any CPU.ActiveCfg = DebugLeakCheck|Win32
- {E5865596-E5F0-4CA3-B04A-4E34B798744A}.DebugLeakCheck|x64.ActiveCfg = DebugLeakCheck|x64
- {E5865596-E5F0-4CA3-B04A-4E34B798744A}.DebugLeakCheck|x86.ActiveCfg = DebugLeakCheck|Win32
- {E5865596-E5F0-4CA3-B04A-4E34B798744A}.DebugLeakCheck|x86.Build.0 = DebugLeakCheck|Win32
{E5865596-E5F0-4CA3-B04A-4E34B798744A}.Release|Any CPU.ActiveCfg = Release|Win32
{E5865596-E5F0-4CA3-B04A-4E34B798744A}.Release|x64.ActiveCfg = Release|x64
{E5865596-E5F0-4CA3-B04A-4E34B798744A}.Release|x64.Build.0 = Release|x64
@@ -173,35 +132,15 @@ Global
{2720BCD9-6731-4A11-BA24-1F74E35BA97F}.Debug|x64.Build.0 = Debug|x64
{2720BCD9-6731-4A11-BA24-1F74E35BA97F}.Debug|x86.ActiveCfg = Debug|Win32
{2720BCD9-6731-4A11-BA24-1F74E35BA97F}.Debug|x86.Build.0 = Debug|Win32
- {2720BCD9-6731-4A11-BA24-1F74E35BA97F}.DebugLeakCheck|Any CPU.ActiveCfg = DebugLeakCheck|Win32
- {2720BCD9-6731-4A11-BA24-1F74E35BA97F}.DebugLeakCheck|x64.ActiveCfg = DebugLeakCheck|x64
- {2720BCD9-6731-4A11-BA24-1F74E35BA97F}.DebugLeakCheck|x86.ActiveCfg = DebugLeakCheck|Win32
- {2720BCD9-6731-4A11-BA24-1F74E35BA97F}.DebugLeakCheck|x86.Build.0 = DebugLeakCheck|Win32
{2720BCD9-6731-4A11-BA24-1F74E35BA97F}.Release|Any CPU.ActiveCfg = Release|Win32
{2720BCD9-6731-4A11-BA24-1F74E35BA97F}.Release|x64.ActiveCfg = Release|x64
{2720BCD9-6731-4A11-BA24-1F74E35BA97F}.Release|x64.Build.0 = Release|x64
{2720BCD9-6731-4A11-BA24-1F74E35BA97F}.Release|x86.ActiveCfg = Release|Win32
{2720BCD9-6731-4A11-BA24-1F74E35BA97F}.Release|x86.Build.0 = Release|Win32
- {D3D9B744-D0FC-4BC7-94A8-89C1AC5692DE}.Debug|Any CPU.ActiveCfg = Debug|Win32
- {D3D9B744-D0FC-4BC7-94A8-89C1AC5692DE}.Debug|x64.ActiveCfg = Debug|x64
- {D3D9B744-D0FC-4BC7-94A8-89C1AC5692DE}.Debug|x86.ActiveCfg = Debug|Win32
- {D3D9B744-D0FC-4BC7-94A8-89C1AC5692DE}.Debug|x86.Build.0 = Debug|Win32
- {D3D9B744-D0FC-4BC7-94A8-89C1AC5692DE}.DebugLeakCheck|Any CPU.ActiveCfg = DebugLeakCheck|Win32
- {D3D9B744-D0FC-4BC7-94A8-89C1AC5692DE}.DebugLeakCheck|x64.ActiveCfg = DebugLeakCheck|x64
- {D3D9B744-D0FC-4BC7-94A8-89C1AC5692DE}.DebugLeakCheck|x86.ActiveCfg = DebugLeakCheck|Win32
- {D3D9B744-D0FC-4BC7-94A8-89C1AC5692DE}.DebugLeakCheck|x86.Build.0 = DebugLeakCheck|Win32
- {D3D9B744-D0FC-4BC7-94A8-89C1AC5692DE}.Release|Any CPU.ActiveCfg = Release|Win32
- {D3D9B744-D0FC-4BC7-94A8-89C1AC5692DE}.Release|x64.ActiveCfg = Release|x64
- {D3D9B744-D0FC-4BC7-94A8-89C1AC5692DE}.Release|x86.ActiveCfg = Release|Win32
- {D3D9B744-D0FC-4BC7-94A8-89C1AC5692DE}.Release|x86.Build.0 = Release|Win32
{007B7DE0-1D9B-498D-ACFC-E9D33058F22E}.Debug|Any CPU.ActiveCfg = Debug|x64
{007B7DE0-1D9B-498D-ACFC-E9D33058F22E}.Debug|x64.ActiveCfg = Debug|x64
{007B7DE0-1D9B-498D-ACFC-E9D33058F22E}.Debug|x64.Build.0 = Debug|x64
{007B7DE0-1D9B-498D-ACFC-E9D33058F22E}.Debug|x86.ActiveCfg = Debug|x64
- {007B7DE0-1D9B-498D-ACFC-E9D33058F22E}.DebugLeakCheck|Any CPU.ActiveCfg = DebugLeakCheck|x64
- {007B7DE0-1D9B-498D-ACFC-E9D33058F22E}.DebugLeakCheck|x64.ActiveCfg = DebugLeakCheck|x64
- {007B7DE0-1D9B-498D-ACFC-E9D33058F22E}.DebugLeakCheck|x64.Build.0 = DebugLeakCheck|x64
- {007B7DE0-1D9B-498D-ACFC-E9D33058F22E}.DebugLeakCheck|x86.ActiveCfg = DebugLeakCheck|x64
{007B7DE0-1D9B-498D-ACFC-E9D33058F22E}.Release|Any CPU.ActiveCfg = Release|x64
{007B7DE0-1D9B-498D-ACFC-E9D33058F22E}.Release|x64.ActiveCfg = Release|x64
{007B7DE0-1D9B-498D-ACFC-E9D33058F22E}.Release|x64.Build.0 = Release|x64
@@ -212,11 +151,6 @@ Global
{85E55AE0-3784-4968-9271-C81AF560E1C1}.Debug|x64.Build.0 = Debug|x64
{85E55AE0-3784-4968-9271-C81AF560E1C1}.Debug|x86.ActiveCfg = Debug|Win32
{85E55AE0-3784-4968-9271-C81AF560E1C1}.Debug|x86.Build.0 = Debug|Win32
- {85E55AE0-3784-4968-9271-C81AF560E1C1}.DebugLeakCheck|Any CPU.ActiveCfg = DebugLeakCheck|Win32
- {85E55AE0-3784-4968-9271-C81AF560E1C1}.DebugLeakCheck|x64.ActiveCfg = DebugLeakCheck|x64
- {85E55AE0-3784-4968-9271-C81AF560E1C1}.DebugLeakCheck|x64.Build.0 = DebugLeakCheck|x64
- {85E55AE0-3784-4968-9271-C81AF560E1C1}.DebugLeakCheck|x86.ActiveCfg = DebugLeakCheck|Win32
- {85E55AE0-3784-4968-9271-C81AF560E1C1}.DebugLeakCheck|x86.Build.0 = DebugLeakCheck|Win32
{85E55AE0-3784-4968-9271-C81AF560E1C1}.Release|Any CPU.ActiveCfg = Release|x64
{85E55AE0-3784-4968-9271-C81AF560E1C1}.Release|Any CPU.Build.0 = Release|x64
{85E55AE0-3784-4968-9271-C81AF560E1C1}.Release|x64.ActiveCfg = Release|x64
@@ -228,10 +162,6 @@ Global
{E4E962AE-7056-4EB0-A8C5-8DC824A4B068}.Debug|x64.ActiveCfg = Debug|x64
{E4E962AE-7056-4EB0-A8C5-8DC824A4B068}.Debug|x64.Build.0 = Debug|x64
{E4E962AE-7056-4EB0-A8C5-8DC824A4B068}.Debug|x86.ActiveCfg = Debug|x64
- {E4E962AE-7056-4EB0-A8C5-8DC824A4B068}.DebugLeakCheck|Any CPU.ActiveCfg = DebugLeakCheck|x64
- {E4E962AE-7056-4EB0-A8C5-8DC824A4B068}.DebugLeakCheck|x64.ActiveCfg = DebugLeakCheck|x64
- {E4E962AE-7056-4EB0-A8C5-8DC824A4B068}.DebugLeakCheck|x64.Build.0 = DebugLeakCheck|x64
- {E4E962AE-7056-4EB0-A8C5-8DC824A4B068}.DebugLeakCheck|x86.ActiveCfg = DebugLeakCheck|x64
{E4E962AE-7056-4EB0-A8C5-8DC824A4B068}.Release|Any CPU.ActiveCfg = Release|x64
{E4E962AE-7056-4EB0-A8C5-8DC824A4B068}.Release|Any CPU.Build.0 = Release|x64
{E4E962AE-7056-4EB0-A8C5-8DC824A4B068}.Release|x64.ActiveCfg = Release|x64
@@ -241,10 +171,6 @@ Global
{B7122114-828E-4D86-B79E-4037C74C5F69}.Debug|x64.ActiveCfg = Debug|x64
{B7122114-828E-4D86-B79E-4037C74C5F69}.Debug|x64.Build.0 = Debug|x64
{B7122114-828E-4D86-B79E-4037C74C5F69}.Debug|x86.ActiveCfg = Debug|x64
- {B7122114-828E-4D86-B79E-4037C74C5F69}.DebugLeakCheck|Any CPU.ActiveCfg = DebugLeakCheck|x64
- {B7122114-828E-4D86-B79E-4037C74C5F69}.DebugLeakCheck|x64.ActiveCfg = DebugLeakCheck|x64
- {B7122114-828E-4D86-B79E-4037C74C5F69}.DebugLeakCheck|x64.Build.0 = DebugLeakCheck|x64
- {B7122114-828E-4D86-B79E-4037C74C5F69}.DebugLeakCheck|x86.ActiveCfg = DebugLeakCheck|x64
{B7122114-828E-4D86-B79E-4037C74C5F69}.Release|Any CPU.ActiveCfg = Release|x64
{B7122114-828E-4D86-B79E-4037C74C5F69}.Release|x64.ActiveCfg = Release|x64
{B7122114-828E-4D86-B79E-4037C74C5F69}.Release|x64.Build.0 = Release|x64
@@ -254,58 +180,25 @@ Global
{E621E022-C1F8-433F-905A-AB9A3DE072B7}.Debug|x64.ActiveCfg = Debug|x64
{E621E022-C1F8-433F-905A-AB9A3DE072B7}.Debug|x64.Build.0 = Debug|x64
{E621E022-C1F8-433F-905A-AB9A3DE072B7}.Debug|x86.ActiveCfg = Debug|x64
- {E621E022-C1F8-433F-905A-AB9A3DE072B7}.DebugLeakCheck|Any CPU.ActiveCfg = DebugLeakCheck|x64
- {E621E022-C1F8-433F-905A-AB9A3DE072B7}.DebugLeakCheck|x64.ActiveCfg = DebugLeakCheck|x64
- {E621E022-C1F8-433F-905A-AB9A3DE072B7}.DebugLeakCheck|x64.Build.0 = DebugLeakCheck|x64
- {E621E022-C1F8-433F-905A-AB9A3DE072B7}.DebugLeakCheck|x86.ActiveCfg = DebugLeakCheck|x64
{E621E022-C1F8-433F-905A-AB9A3DE072B7}.Release|Any CPU.ActiveCfg = Release|x64
{E621E022-C1F8-433F-905A-AB9A3DE072B7}.Release|Any CPU.Build.0 = Release|x64
{E621E022-C1F8-433F-905A-AB9A3DE072B7}.Release|x64.ActiveCfg = Release|x64
{E621E022-C1F8-433F-905A-AB9A3DE072B7}.Release|x64.Build.0 = Release|x64
{E621E022-C1F8-433F-905A-AB9A3DE072B7}.Release|x86.ActiveCfg = Release|x64
- {492EA3A7-8A41-459E-BBC3-5A3FE9DDFC68}.Debug|Any CPU.ActiveCfg = Debug|x64
- {492EA3A7-8A41-459E-BBC3-5A3FE9DDFC68}.Debug|x64.ActiveCfg = Debug|x64
- {492EA3A7-8A41-459E-BBC3-5A3FE9DDFC68}.Debug|x86.ActiveCfg = Debug|x64
- {492EA3A7-8A41-459E-BBC3-5A3FE9DDFC68}.DebugLeakCheck|Any CPU.ActiveCfg = DebugLeakCheck|x64
- {492EA3A7-8A41-459E-BBC3-5A3FE9DDFC68}.DebugLeakCheck|x64.ActiveCfg = DebugLeakCheck|x64
- {492EA3A7-8A41-459E-BBC3-5A3FE9DDFC68}.DebugLeakCheck|x64.Build.0 = DebugLeakCheck|x64
- {492EA3A7-8A41-459E-BBC3-5A3FE9DDFC68}.DebugLeakCheck|x86.ActiveCfg = DebugLeakCheck|x64
- {492EA3A7-8A41-459E-BBC3-5A3FE9DDFC68}.Release|Any CPU.ActiveCfg = Release|x64
- {492EA3A7-8A41-459E-BBC3-5A3FE9DDFC68}.Release|x64.ActiveCfg = Release|x64
- {492EA3A7-8A41-459E-BBC3-5A3FE9DDFC68}.Release|x86.ActiveCfg = Release|x64
{6A9CBEAB-427F-4D8D-9559-B76B42B0895C}.Debug|Any CPU.ActiveCfg = Debug|x64
{6A9CBEAB-427F-4D8D-9559-B76B42B0895C}.Debug|x64.ActiveCfg = Debug|x64
{6A9CBEAB-427F-4D8D-9559-B76B42B0895C}.Debug|x64.Build.0 = Debug|x64
{6A9CBEAB-427F-4D8D-9559-B76B42B0895C}.Debug|x86.ActiveCfg = Debug|x64
- {6A9CBEAB-427F-4D8D-9559-B76B42B0895C}.DebugLeakCheck|Any CPU.ActiveCfg = DebugLeakCheck|x64
- {6A9CBEAB-427F-4D8D-9559-B76B42B0895C}.DebugLeakCheck|x64.ActiveCfg = DebugLeakCheck|x64
- {6A9CBEAB-427F-4D8D-9559-B76B42B0895C}.DebugLeakCheck|x64.Build.0 = DebugLeakCheck|x64
- {6A9CBEAB-427F-4D8D-9559-B76B42B0895C}.DebugLeakCheck|x86.ActiveCfg = DebugLeakCheck|x64
{6A9CBEAB-427F-4D8D-9559-B76B42B0895C}.Release|Any CPU.ActiveCfg = Release|x64
{6A9CBEAB-427F-4D8D-9559-B76B42B0895C}.Release|x64.ActiveCfg = Release|x64
{6A9CBEAB-427F-4D8D-9559-B76B42B0895C}.Release|x64.Build.0 = Release|x64
{6A9CBEAB-427F-4D8D-9559-B76B42B0895C}.Release|x86.ActiveCfg = Release|x64
- {3D57A6AF-DE8C-40DC-ABDE-E4CE1B9C0D20}.Debug|Any CPU.ActiveCfg = Debug|x64
- {3D57A6AF-DE8C-40DC-ABDE-E4CE1B9C0D20}.Debug|x64.ActiveCfg = Debug|x64
- {3D57A6AF-DE8C-40DC-ABDE-E4CE1B9C0D20}.Debug|x86.ActiveCfg = Debug|x64
- {3D57A6AF-DE8C-40DC-ABDE-E4CE1B9C0D20}.DebugLeakCheck|Any CPU.ActiveCfg = DebugLeakCheck|x64
- {3D57A6AF-DE8C-40DC-ABDE-E4CE1B9C0D20}.DebugLeakCheck|x64.ActiveCfg = DebugLeakCheck|x64
- {3D57A6AF-DE8C-40DC-ABDE-E4CE1B9C0D20}.DebugLeakCheck|x64.Build.0 = DebugLeakCheck|x64
- {3D57A6AF-DE8C-40DC-ABDE-E4CE1B9C0D20}.DebugLeakCheck|x86.ActiveCfg = DebugLeakCheck|x64
- {3D57A6AF-DE8C-40DC-ABDE-E4CE1B9C0D20}.Release|Any CPU.ActiveCfg = Release|x64
- {3D57A6AF-DE8C-40DC-ABDE-E4CE1B9C0D20}.Release|x64.ActiveCfg = Release|x64
- {3D57A6AF-DE8C-40DC-ABDE-E4CE1B9C0D20}.Release|x86.ActiveCfg = Release|x64
{1E205806-7F80-47DD-A38D-FC08083F3593}.Debug|Any CPU.ActiveCfg = Debug|x64
{1E205806-7F80-47DD-A38D-FC08083F3593}.Debug|Any CPU.Build.0 = Debug|x64
{1E205806-7F80-47DD-A38D-FC08083F3593}.Debug|x64.ActiveCfg = Debug|x64
{1E205806-7F80-47DD-A38D-FC08083F3593}.Debug|x64.Build.0 = Debug|x64
{1E205806-7F80-47DD-A38D-FC08083F3593}.Debug|x86.ActiveCfg = Debug|Win32
{1E205806-7F80-47DD-A38D-FC08083F3593}.Debug|x86.Build.0 = Debug|Win32
- {1E205806-7F80-47DD-A38D-FC08083F3593}.DebugLeakCheck|Any CPU.ActiveCfg = DebugLeakCheck|Win32
- {1E205806-7F80-47DD-A38D-FC08083F3593}.DebugLeakCheck|x64.ActiveCfg = DebugLeakCheck|x64
- {1E205806-7F80-47DD-A38D-FC08083F3593}.DebugLeakCheck|x64.Build.0 = DebugLeakCheck|x64
- {1E205806-7F80-47DD-A38D-FC08083F3593}.DebugLeakCheck|x86.ActiveCfg = DebugLeakCheck|Win32
- {1E205806-7F80-47DD-A38D-FC08083F3593}.DebugLeakCheck|x86.Build.0 = DebugLeakCheck|Win32
{1E205806-7F80-47DD-A38D-FC08083F3593}.Release|Any CPU.ActiveCfg = Release|x64
{1E205806-7F80-47DD-A38D-FC08083F3593}.Release|Any CPU.Build.0 = Release|x64
{1E205806-7F80-47DD-A38D-FC08083F3593}.Release|x64.ActiveCfg = Release|x64
@@ -316,55 +209,15 @@ Global
{01A85382-C3E9-480A-86BF-FAFE4AD107A7}.Debug|x64.ActiveCfg = Debug|x64
{01A85382-C3E9-480A-86BF-FAFE4AD107A7}.Debug|x64.Build.0 = Debug|x64
{01A85382-C3E9-480A-86BF-FAFE4AD107A7}.Debug|x86.ActiveCfg = Debug|x64
- {01A85382-C3E9-480A-86BF-FAFE4AD107A7}.DebugLeakCheck|Any CPU.ActiveCfg = Release|x64
- {01A85382-C3E9-480A-86BF-FAFE4AD107A7}.DebugLeakCheck|Any CPU.Build.0 = Release|x64
- {01A85382-C3E9-480A-86BF-FAFE4AD107A7}.DebugLeakCheck|x64.ActiveCfg = Debug|x64
- {01A85382-C3E9-480A-86BF-FAFE4AD107A7}.DebugLeakCheck|x64.Build.0 = Debug|x64
- {01A85382-C3E9-480A-86BF-FAFE4AD107A7}.DebugLeakCheck|x86.ActiveCfg = Release|x64
- {01A85382-C3E9-480A-86BF-FAFE4AD107A7}.DebugLeakCheck|x86.Build.0 = Release|x64
{01A85382-C3E9-480A-86BF-FAFE4AD107A7}.Release|Any CPU.ActiveCfg = Release|x64
{01A85382-C3E9-480A-86BF-FAFE4AD107A7}.Release|x64.ActiveCfg = Release|x64
{01A85382-C3E9-480A-86BF-FAFE4AD107A7}.Release|x64.Build.0 = Release|x64
{01A85382-C3E9-480A-86BF-FAFE4AD107A7}.Release|x86.ActiveCfg = Release|x64
- {1F25D39D-71C3-4FDE-A58F-D3D5D4F6DFFB}.Debug|Any CPU.ActiveCfg = Debug|x86
- {1F25D39D-71C3-4FDE-A58F-D3D5D4F6DFFB}.Debug|x64.ActiveCfg = Debug|x64
- {1F25D39D-71C3-4FDE-A58F-D3D5D4F6DFFB}.Debug|x86.ActiveCfg = Debug|x86
- {1F25D39D-71C3-4FDE-A58F-D3D5D4F6DFFB}.Debug|x86.Build.0 = Debug|x86
- {1F25D39D-71C3-4FDE-A58F-D3D5D4F6DFFB}.DebugLeakCheck|Any CPU.ActiveCfg = Release|x86
- {1F25D39D-71C3-4FDE-A58F-D3D5D4F6DFFB}.DebugLeakCheck|Any CPU.Build.0 = Release|x86
- {1F25D39D-71C3-4FDE-A58F-D3D5D4F6DFFB}.DebugLeakCheck|x64.ActiveCfg = Debug|x86
- {1F25D39D-71C3-4FDE-A58F-D3D5D4F6DFFB}.DebugLeakCheck|x86.ActiveCfg = Debug|x86
- {1F25D39D-71C3-4FDE-A58F-D3D5D4F6DFFB}.DebugLeakCheck|x86.Build.0 = Debug|x86
- {1F25D39D-71C3-4FDE-A58F-D3D5D4F6DFFB}.Release|Any CPU.ActiveCfg = Release|x86
- {1F25D39D-71C3-4FDE-A58F-D3D5D4F6DFFB}.Release|x64.ActiveCfg = Release|x64
- {1F25D39D-71C3-4FDE-A58F-D3D5D4F6DFFB}.Release|x64.Build.0 = Release|x64
- {1F25D39D-71C3-4FDE-A58F-D3D5D4F6DFFB}.Release|x86.ActiveCfg = Release|x86
- {1F25D39D-71C3-4FDE-A58F-D3D5D4F6DFFB}.Release|x86.Build.0 = Release|x86
- {A80650FD-7DCA-4B80-B52E-D22D5CAE9E92}.Debug|Any CPU.ActiveCfg = Debug|x86
- {A80650FD-7DCA-4B80-B52E-D22D5CAE9E92}.Debug|x64.ActiveCfg = Debug|x64
- {A80650FD-7DCA-4B80-B52E-D22D5CAE9E92}.Debug|x86.ActiveCfg = Debug|x86
- {A80650FD-7DCA-4B80-B52E-D22D5CAE9E92}.Debug|x86.Build.0 = Debug|x86
- {A80650FD-7DCA-4B80-B52E-D22D5CAE9E92}.DebugLeakCheck|Any CPU.ActiveCfg = Release|x86
- {A80650FD-7DCA-4B80-B52E-D22D5CAE9E92}.DebugLeakCheck|Any CPU.Build.0 = Release|x86
- {A80650FD-7DCA-4B80-B52E-D22D5CAE9E92}.DebugLeakCheck|x64.ActiveCfg = Debug|x86
- {A80650FD-7DCA-4B80-B52E-D22D5CAE9E92}.DebugLeakCheck|x86.ActiveCfg = Debug|x86
- {A80650FD-7DCA-4B80-B52E-D22D5CAE9E92}.DebugLeakCheck|x86.Build.0 = Debug|x86
- {A80650FD-7DCA-4B80-B52E-D22D5CAE9E92}.Release|Any CPU.ActiveCfg = Release|x86
- {A80650FD-7DCA-4B80-B52E-D22D5CAE9E92}.Release|x64.ActiveCfg = Release|x64
- {A80650FD-7DCA-4B80-B52E-D22D5CAE9E92}.Release|x64.Build.0 = Release|x64
- {A80650FD-7DCA-4B80-B52E-D22D5CAE9E92}.Release|x86.ActiveCfg = Release|x86
- {A80650FD-7DCA-4B80-B52E-D22D5CAE9E92}.Release|x86.Build.0 = Release|x86
{9E27FA94-AB34-4736-8427-FB7A2BA90D52}.Debug|Any CPU.ActiveCfg = Debug|x64
{9E27FA94-AB34-4736-8427-FB7A2BA90D52}.Debug|Any CPU.Build.0 = Debug|x64
{9E27FA94-AB34-4736-8427-FB7A2BA90D52}.Debug|x64.ActiveCfg = Debug|x64
{9E27FA94-AB34-4736-8427-FB7A2BA90D52}.Debug|x64.Build.0 = Debug|x64
{9E27FA94-AB34-4736-8427-FB7A2BA90D52}.Debug|x86.ActiveCfg = Debug|x64
- {9E27FA94-AB34-4736-8427-FB7A2BA90D52}.DebugLeakCheck|Any CPU.ActiveCfg = Release|x64
- {9E27FA94-AB34-4736-8427-FB7A2BA90D52}.DebugLeakCheck|Any CPU.Build.0 = Release|x64
- {9E27FA94-AB34-4736-8427-FB7A2BA90D52}.DebugLeakCheck|x64.ActiveCfg = Debug|x64
- {9E27FA94-AB34-4736-8427-FB7A2BA90D52}.DebugLeakCheck|x64.Build.0 = Debug|x64
- {9E27FA94-AB34-4736-8427-FB7A2BA90D52}.DebugLeakCheck|x86.ActiveCfg = Release|x64
- {9E27FA94-AB34-4736-8427-FB7A2BA90D52}.DebugLeakCheck|x86.Build.0 = Release|x64
{9E27FA94-AB34-4736-8427-FB7A2BA90D52}.Release|Any CPU.ActiveCfg = Release|x64
{9E27FA94-AB34-4736-8427-FB7A2BA90D52}.Release|Any CPU.Build.0 = Release|x64
{9E27FA94-AB34-4736-8427-FB7A2BA90D52}.Release|x64.ActiveCfg = Release|x64
@@ -374,79 +227,14 @@ Global
{08636F79-5577-4AF2-8EED-EC8A5BC14AC4}.Debug|x64.ActiveCfg = Debug|x64
{08636F79-5577-4AF2-8EED-EC8A5BC14AC4}.Debug|x64.Build.0 = Debug|x64
{08636F79-5577-4AF2-8EED-EC8A5BC14AC4}.Debug|x86.ActiveCfg = Debug|x64
- {08636F79-5577-4AF2-8EED-EC8A5BC14AC4}.DebugLeakCheck|Any CPU.ActiveCfg = Release|x64
- {08636F79-5577-4AF2-8EED-EC8A5BC14AC4}.DebugLeakCheck|Any CPU.Build.0 = Release|x64
- {08636F79-5577-4AF2-8EED-EC8A5BC14AC4}.DebugLeakCheck|x64.ActiveCfg = Debug|x64
- {08636F79-5577-4AF2-8EED-EC8A5BC14AC4}.DebugLeakCheck|x86.ActiveCfg = Release|x64
- {08636F79-5577-4AF2-8EED-EC8A5BC14AC4}.DebugLeakCheck|x86.Build.0 = Release|x64
{08636F79-5577-4AF2-8EED-EC8A5BC14AC4}.Release|Any CPU.ActiveCfg = Release|x64
{08636F79-5577-4AF2-8EED-EC8A5BC14AC4}.Release|x64.ActiveCfg = Release|x64
{08636F79-5577-4AF2-8EED-EC8A5BC14AC4}.Release|x64.Build.0 = Release|x64
{08636F79-5577-4AF2-8EED-EC8A5BC14AC4}.Release|x86.ActiveCfg = Release|x64
- {43E32C1D-21D6-4BE3-8FA5-D5BA379CBA53}.Debug|Any CPU.ActiveCfg = Debug|x64
- {43E32C1D-21D6-4BE3-8FA5-D5BA379CBA53}.Debug|Any CPU.Build.0 = Debug|x64
- {43E32C1D-21D6-4BE3-8FA5-D5BA379CBA53}.Debug|x64.ActiveCfg = Debug|x64
- {43E32C1D-21D6-4BE3-8FA5-D5BA379CBA53}.Debug|x64.Build.0 = Debug|x64
- {43E32C1D-21D6-4BE3-8FA5-D5BA379CBA53}.Debug|x86.ActiveCfg = Debug|Any CPU
- {43E32C1D-21D6-4BE3-8FA5-D5BA379CBA53}.Debug|x86.Build.0 = Debug|Any CPU
- {43E32C1D-21D6-4BE3-8FA5-D5BA379CBA53}.DebugLeakCheck|Any CPU.ActiveCfg = Debug|Any CPU
- {43E32C1D-21D6-4BE3-8FA5-D5BA379CBA53}.DebugLeakCheck|Any CPU.Build.0 = Debug|Any CPU
- {43E32C1D-21D6-4BE3-8FA5-D5BA379CBA53}.DebugLeakCheck|x64.ActiveCfg = Debug|x64
- {43E32C1D-21D6-4BE3-8FA5-D5BA379CBA53}.DebugLeakCheck|x64.Build.0 = Debug|x64
- {43E32C1D-21D6-4BE3-8FA5-D5BA379CBA53}.DebugLeakCheck|x86.ActiveCfg = Debug|Any CPU
- {43E32C1D-21D6-4BE3-8FA5-D5BA379CBA53}.DebugLeakCheck|x86.Build.0 = Debug|Any CPU
- {43E32C1D-21D6-4BE3-8FA5-D5BA379CBA53}.Release|Any CPU.ActiveCfg = Release|x64
- {43E32C1D-21D6-4BE3-8FA5-D5BA379CBA53}.Release|Any CPU.Build.0 = Release|x64
- {43E32C1D-21D6-4BE3-8FA5-D5BA379CBA53}.Release|x64.ActiveCfg = Release|x64
- {43E32C1D-21D6-4BE3-8FA5-D5BA379CBA53}.Release|x64.Build.0 = Release|x64
- {43E32C1D-21D6-4BE3-8FA5-D5BA379CBA53}.Release|x86.ActiveCfg = Release|Any CPU
- {43E32C1D-21D6-4BE3-8FA5-D5BA379CBA53}.Release|x86.Build.0 = Release|Any CPU
- {7263F536-3ABE-4A8E-BA66-1341D6A53579}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {7263F536-3ABE-4A8E-BA66-1341D6A53579}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {7263F536-3ABE-4A8E-BA66-1341D6A53579}.Debug|x64.ActiveCfg = Debug|Any CPU
- {7263F536-3ABE-4A8E-BA66-1341D6A53579}.Debug|x64.Build.0 = Debug|Any CPU
- {7263F536-3ABE-4A8E-BA66-1341D6A53579}.Debug|x86.ActiveCfg = Debug|Any CPU
- {7263F536-3ABE-4A8E-BA66-1341D6A53579}.Debug|x86.Build.0 = Debug|Any CPU
- {7263F536-3ABE-4A8E-BA66-1341D6A53579}.DebugLeakCheck|Any CPU.ActiveCfg = Debug|Any CPU
- {7263F536-3ABE-4A8E-BA66-1341D6A53579}.DebugLeakCheck|Any CPU.Build.0 = Debug|Any CPU
- {7263F536-3ABE-4A8E-BA66-1341D6A53579}.DebugLeakCheck|x64.ActiveCfg = Debug|Any CPU
- {7263F536-3ABE-4A8E-BA66-1341D6A53579}.DebugLeakCheck|x64.Build.0 = Debug|Any CPU
- {7263F536-3ABE-4A8E-BA66-1341D6A53579}.DebugLeakCheck|x86.ActiveCfg = Debug|Any CPU
- {7263F536-3ABE-4A8E-BA66-1341D6A53579}.DebugLeakCheck|x86.Build.0 = Debug|Any CPU
- {7263F536-3ABE-4A8E-BA66-1341D6A53579}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7263F536-3ABE-4A8E-BA66-1341D6A53579}.Release|Any CPU.Build.0 = Release|Any CPU
- {7263F536-3ABE-4A8E-BA66-1341D6A53579}.Release|x64.ActiveCfg = Release|Any CPU
- {7263F536-3ABE-4A8E-BA66-1341D6A53579}.Release|x64.Build.0 = Release|Any CPU
- {7263F536-3ABE-4A8E-BA66-1341D6A53579}.Release|x86.ActiveCfg = Release|Any CPU
- {7263F536-3ABE-4A8E-BA66-1341D6A53579}.Release|x86.Build.0 = Release|Any CPU
- {9DE727D8-FD1B-4144-8976-5371663D4C22}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9DE727D8-FD1B-4144-8976-5371663D4C22}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9DE727D8-FD1B-4144-8976-5371663D4C22}.Debug|x64.ActiveCfg = Debug|Any CPU
- {9DE727D8-FD1B-4144-8976-5371663D4C22}.Debug|x64.Build.0 = Debug|Any CPU
- {9DE727D8-FD1B-4144-8976-5371663D4C22}.Debug|x86.ActiveCfg = Debug|Any CPU
- {9DE727D8-FD1B-4144-8976-5371663D4C22}.Debug|x86.Build.0 = Debug|Any CPU
- {9DE727D8-FD1B-4144-8976-5371663D4C22}.DebugLeakCheck|Any CPU.ActiveCfg = Debug|Any CPU
- {9DE727D8-FD1B-4144-8976-5371663D4C22}.DebugLeakCheck|Any CPU.Build.0 = Debug|Any CPU
- {9DE727D8-FD1B-4144-8976-5371663D4C22}.DebugLeakCheck|x64.ActiveCfg = Debug|Any CPU
- {9DE727D8-FD1B-4144-8976-5371663D4C22}.DebugLeakCheck|x64.Build.0 = Debug|Any CPU
- {9DE727D8-FD1B-4144-8976-5371663D4C22}.DebugLeakCheck|x86.ActiveCfg = Debug|Any CPU
- {9DE727D8-FD1B-4144-8976-5371663D4C22}.DebugLeakCheck|x86.Build.0 = Debug|Any CPU
- {9DE727D8-FD1B-4144-8976-5371663D4C22}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9DE727D8-FD1B-4144-8976-5371663D4C22}.Release|Any CPU.Build.0 = Release|Any CPU
- {9DE727D8-FD1B-4144-8976-5371663D4C22}.Release|x64.ActiveCfg = Release|Any CPU
- {9DE727D8-FD1B-4144-8976-5371663D4C22}.Release|x64.Build.0 = Release|Any CPU
- {9DE727D8-FD1B-4144-8976-5371663D4C22}.Release|x86.ActiveCfg = Release|Any CPU
- {9DE727D8-FD1B-4144-8976-5371663D4C22}.Release|x86.Build.0 = Release|Any CPU
{7D381808-CC76-4A1A-A8E6-3F71278858BB}.Debug|Any CPU.ActiveCfg = Debug|x64
{7D381808-CC76-4A1A-A8E6-3F71278858BB}.Debug|x64.ActiveCfg = Debug|x64
{7D381808-CC76-4A1A-A8E6-3F71278858BB}.Debug|x64.Build.0 = Debug|x64
{7D381808-CC76-4A1A-A8E6-3F71278858BB}.Debug|x86.ActiveCfg = Debug|x64
- {7D381808-CC76-4A1A-A8E6-3F71278858BB}.DebugLeakCheck|Any CPU.ActiveCfg = Release|x64
- {7D381808-CC76-4A1A-A8E6-3F71278858BB}.DebugLeakCheck|Any CPU.Build.0 = Release|x64
- {7D381808-CC76-4A1A-A8E6-3F71278858BB}.DebugLeakCheck|x64.ActiveCfg = Debug|x64
- {7D381808-CC76-4A1A-A8E6-3F71278858BB}.DebugLeakCheck|x64.Build.0 = Debug|x64
- {7D381808-CC76-4A1A-A8E6-3F71278858BB}.DebugLeakCheck|x86.ActiveCfg = Release|x64
- {7D381808-CC76-4A1A-A8E6-3F71278858BB}.DebugLeakCheck|x86.Build.0 = Release|x64
{7D381808-CC76-4A1A-A8E6-3F71278858BB}.Release|Any CPU.ActiveCfg = Release|x64
{7D381808-CC76-4A1A-A8E6-3F71278858BB}.Release|x64.ActiveCfg = Release|x64
{7D381808-CC76-4A1A-A8E6-3F71278858BB}.Release|x64.Build.0 = Release|x64
@@ -456,12 +244,6 @@ Global
{C40E3263-B6FF-46D5-92F7-D67E6F9FCEDD}.Debug|x64.Build.0 = Debug|x64
{C40E3263-B6FF-46D5-92F7-D67E6F9FCEDD}.Debug|x86.ActiveCfg = Debug|Win32
{C40E3263-B6FF-46D5-92F7-D67E6F9FCEDD}.Debug|x86.Build.0 = Debug|Win32
- {C40E3263-B6FF-46D5-92F7-D67E6F9FCEDD}.DebugLeakCheck|Any CPU.ActiveCfg = Release|x64
- {C40E3263-B6FF-46D5-92F7-D67E6F9FCEDD}.DebugLeakCheck|Any CPU.Build.0 = Release|x64
- {C40E3263-B6FF-46D5-92F7-D67E6F9FCEDD}.DebugLeakCheck|x64.ActiveCfg = Debug|x64
- {C40E3263-B6FF-46D5-92F7-D67E6F9FCEDD}.DebugLeakCheck|x64.Build.0 = Debug|x64
- {C40E3263-B6FF-46D5-92F7-D67E6F9FCEDD}.DebugLeakCheck|x86.ActiveCfg = Debug|Win32
- {C40E3263-B6FF-46D5-92F7-D67E6F9FCEDD}.DebugLeakCheck|x86.Build.0 = Debug|Win32
{C40E3263-B6FF-46D5-92F7-D67E6F9FCEDD}.Release|Any CPU.ActiveCfg = Release|Win32
{C40E3263-B6FF-46D5-92F7-D67E6F9FCEDD}.Release|x64.ActiveCfg = Release|x64
{C40E3263-B6FF-46D5-92F7-D67E6F9FCEDD}.Release|x64.Build.0 = Release|x64
@@ -472,12 +254,6 @@ Global
{18A3556E-493E-4DD5-8C33-760185B764D4}.Debug|x64.Build.0 = Debug|x64
{18A3556E-493E-4DD5-8C33-760185B764D4}.Debug|x86.ActiveCfg = Debug|Win32
{18A3556E-493E-4DD5-8C33-760185B764D4}.Debug|x86.Build.0 = Debug|Win32
- {18A3556E-493E-4DD5-8C33-760185B764D4}.DebugLeakCheck|Any CPU.ActiveCfg = Release|x64
- {18A3556E-493E-4DD5-8C33-760185B764D4}.DebugLeakCheck|Any CPU.Build.0 = Release|x64
- {18A3556E-493E-4DD5-8C33-760185B764D4}.DebugLeakCheck|x64.ActiveCfg = Debug|x64
- {18A3556E-493E-4DD5-8C33-760185B764D4}.DebugLeakCheck|x64.Build.0 = Debug|x64
- {18A3556E-493E-4DD5-8C33-760185B764D4}.DebugLeakCheck|x86.ActiveCfg = Debug|Win32
- {18A3556E-493E-4DD5-8C33-760185B764D4}.DebugLeakCheck|x86.Build.0 = Debug|Win32
{18A3556E-493E-4DD5-8C33-760185B764D4}.Release|Any CPU.ActiveCfg = Release|Win32
{18A3556E-493E-4DD5-8C33-760185B764D4}.Release|x64.ActiveCfg = Release|x64
{18A3556E-493E-4DD5-8C33-760185B764D4}.Release|x64.Build.0 = Release|x64
@@ -488,12 +264,6 @@ Global
{C5D19F4E-174D-40F0-8CD9-B92CBCE721E0}.Debug|x64.Build.0 = Debug|x64
{C5D19F4E-174D-40F0-8CD9-B92CBCE721E0}.Debug|x86.ActiveCfg = Debug|Win32
{C5D19F4E-174D-40F0-8CD9-B92CBCE721E0}.Debug|x86.Build.0 = Debug|Win32
- {C5D19F4E-174D-40F0-8CD9-B92CBCE721E0}.DebugLeakCheck|Any CPU.ActiveCfg = Release|x64
- {C5D19F4E-174D-40F0-8CD9-B92CBCE721E0}.DebugLeakCheck|Any CPU.Build.0 = Release|x64
- {C5D19F4E-174D-40F0-8CD9-B92CBCE721E0}.DebugLeakCheck|x64.ActiveCfg = Debug|x64
- {C5D19F4E-174D-40F0-8CD9-B92CBCE721E0}.DebugLeakCheck|x64.Build.0 = Debug|x64
- {C5D19F4E-174D-40F0-8CD9-B92CBCE721E0}.DebugLeakCheck|x86.ActiveCfg = Debug|Win32
- {C5D19F4E-174D-40F0-8CD9-B92CBCE721E0}.DebugLeakCheck|x86.Build.0 = Debug|Win32
{C5D19F4E-174D-40F0-8CD9-B92CBCE721E0}.Release|Any CPU.ActiveCfg = Release|Win32
{C5D19F4E-174D-40F0-8CD9-B92CBCE721E0}.Release|x64.ActiveCfg = Release|x64
{C5D19F4E-174D-40F0-8CD9-B92CBCE721E0}.Release|x64.Build.0 = Release|x64
@@ -504,12 +274,6 @@ Global
{E86A833A-514D-424D-9FE7-154225031662}.Debug|x64.Build.0 = Debug|x64
{E86A833A-514D-424D-9FE7-154225031662}.Debug|x86.ActiveCfg = Debug|Win32
{E86A833A-514D-424D-9FE7-154225031662}.Debug|x86.Build.0 = Debug|Win32
- {E86A833A-514D-424D-9FE7-154225031662}.DebugLeakCheck|Any CPU.ActiveCfg = Release|x64
- {E86A833A-514D-424D-9FE7-154225031662}.DebugLeakCheck|Any CPU.Build.0 = Release|x64
- {E86A833A-514D-424D-9FE7-154225031662}.DebugLeakCheck|x64.ActiveCfg = Debug|x64
- {E86A833A-514D-424D-9FE7-154225031662}.DebugLeakCheck|x64.Build.0 = Debug|x64
- {E86A833A-514D-424D-9FE7-154225031662}.DebugLeakCheck|x86.ActiveCfg = Debug|Win32
- {E86A833A-514D-424D-9FE7-154225031662}.DebugLeakCheck|x86.Build.0 = Debug|Win32
{E86A833A-514D-424D-9FE7-154225031662}.Release|Any CPU.ActiveCfg = Release|Win32
{E86A833A-514D-424D-9FE7-154225031662}.Release|x64.ActiveCfg = Release|x64
{E86A833A-514D-424D-9FE7-154225031662}.Release|x64.Build.0 = Release|x64
@@ -520,12 +284,6 @@ Global
{47259EFF-C4C2-4F8D-AE67-1FA6F6D5D9FE}.Debug|x64.Build.0 = Debug|x64
{47259EFF-C4C2-4F8D-AE67-1FA6F6D5D9FE}.Debug|x86.ActiveCfg = Debug|Win32
{47259EFF-C4C2-4F8D-AE67-1FA6F6D5D9FE}.Debug|x86.Build.0 = Debug|Win32
- {47259EFF-C4C2-4F8D-AE67-1FA6F6D5D9FE}.DebugLeakCheck|Any CPU.ActiveCfg = Release|x64
- {47259EFF-C4C2-4F8D-AE67-1FA6F6D5D9FE}.DebugLeakCheck|Any CPU.Build.0 = Release|x64
- {47259EFF-C4C2-4F8D-AE67-1FA6F6D5D9FE}.DebugLeakCheck|x64.ActiveCfg = Debug|x64
- {47259EFF-C4C2-4F8D-AE67-1FA6F6D5D9FE}.DebugLeakCheck|x64.Build.0 = Debug|x64
- {47259EFF-C4C2-4F8D-AE67-1FA6F6D5D9FE}.DebugLeakCheck|x86.ActiveCfg = Debug|Win32
- {47259EFF-C4C2-4F8D-AE67-1FA6F6D5D9FE}.DebugLeakCheck|x86.Build.0 = Debug|Win32
{47259EFF-C4C2-4F8D-AE67-1FA6F6D5D9FE}.Release|Any CPU.ActiveCfg = Release|Win32
{47259EFF-C4C2-4F8D-AE67-1FA6F6D5D9FE}.Release|x64.ActiveCfg = Release|x64
{47259EFF-C4C2-4F8D-AE67-1FA6F6D5D9FE}.Release|x64.Build.0 = Release|x64
@@ -536,12 +294,6 @@ Global
{8FF15F05-0D62-4B54-92B8-70A0EE2363AF}.Debug|x64.Build.0 = Debug|x64
{8FF15F05-0D62-4B54-92B8-70A0EE2363AF}.Debug|x86.ActiveCfg = Debug|Win32
{8FF15F05-0D62-4B54-92B8-70A0EE2363AF}.Debug|x86.Build.0 = Debug|Win32
- {8FF15F05-0D62-4B54-92B8-70A0EE2363AF}.DebugLeakCheck|Any CPU.ActiveCfg = Release|x64
- {8FF15F05-0D62-4B54-92B8-70A0EE2363AF}.DebugLeakCheck|Any CPU.Build.0 = Release|x64
- {8FF15F05-0D62-4B54-92B8-70A0EE2363AF}.DebugLeakCheck|x64.ActiveCfg = Debug|x64
- {8FF15F05-0D62-4B54-92B8-70A0EE2363AF}.DebugLeakCheck|x64.Build.0 = Debug|x64
- {8FF15F05-0D62-4B54-92B8-70A0EE2363AF}.DebugLeakCheck|x86.ActiveCfg = Debug|Win32
- {8FF15F05-0D62-4B54-92B8-70A0EE2363AF}.DebugLeakCheck|x86.Build.0 = Debug|Win32
{8FF15F05-0D62-4B54-92B8-70A0EE2363AF}.Release|Any CPU.ActiveCfg = Release|Win32
{8FF15F05-0D62-4B54-92B8-70A0EE2363AF}.Release|x64.ActiveCfg = Release|x64
{8FF15F05-0D62-4B54-92B8-70A0EE2363AF}.Release|x64.Build.0 = Release|x64
@@ -552,12 +304,6 @@ Global
{E02E3869-D9AD-4513-B352-93F90B7D6FE3}.Debug|x64.Build.0 = Debug|x64
{E02E3869-D9AD-4513-B352-93F90B7D6FE3}.Debug|x86.ActiveCfg = Debug|Win32
{E02E3869-D9AD-4513-B352-93F90B7D6FE3}.Debug|x86.Build.0 = Debug|Win32
- {E02E3869-D9AD-4513-B352-93F90B7D6FE3}.DebugLeakCheck|Any CPU.ActiveCfg = Release|x64
- {E02E3869-D9AD-4513-B352-93F90B7D6FE3}.DebugLeakCheck|Any CPU.Build.0 = Release|x64
- {E02E3869-D9AD-4513-B352-93F90B7D6FE3}.DebugLeakCheck|x64.ActiveCfg = Debug|x64
- {E02E3869-D9AD-4513-B352-93F90B7D6FE3}.DebugLeakCheck|x64.Build.0 = Debug|x64
- {E02E3869-D9AD-4513-B352-93F90B7D6FE3}.DebugLeakCheck|x86.ActiveCfg = Debug|Win32
- {E02E3869-D9AD-4513-B352-93F90B7D6FE3}.DebugLeakCheck|x86.Build.0 = Debug|Win32
{E02E3869-D9AD-4513-B352-93F90B7D6FE3}.Release|Any CPU.ActiveCfg = Release|Win32
{E02E3869-D9AD-4513-B352-93F90B7D6FE3}.Release|x64.ActiveCfg = Release|x64
{E02E3869-D9AD-4513-B352-93F90B7D6FE3}.Release|x64.Build.0 = Release|x64
@@ -578,6 +324,7 @@ Global
{8FF15F05-0D62-4B54-92B8-70A0EE2363AF} = {27A9AB97-FC8B-4818-AC80-034FA94998D5}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {14CFCE53-7467-4021-BD9A-978C2FC5BCC8}
EnterpriseLibraryConfigurationToolBinariesPathV6 = packages\EnterpriseLibrary.TransientFaultHandling.6.0.1304.0\lib\portable-net45+win+wp8
EndGlobalSection
EndGlobal
diff --git a/vowpalwabbit/vw.vcxproj b/vowpalwabbit/vw.vcxproj
index 008266bb226..3357a158d46 100644
--- a/vowpalwabbit/vw.vcxproj
+++ b/vowpalwabbit/vw.vcxproj
@@ -1,14 +1,6 @@
-
- DebugLeakCheck
- Win32
-
-
- DebugLeakCheck
- x64
-
Debug
Win32
@@ -38,39 +30,13 @@
true
-
- Application
- true
- Unicode
- v140
-
-
- Application
- true
- Unicode
- v140
-
-
- Application
- true
- Unicode
- v140
-
-
+
Application
true
Unicode
v140
- true
-
-
- Application
- false
- true
- Unicode
- v140
-
+
Application
false
true
@@ -100,60 +66,13 @@
-
+
true
- $(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include
-
- true
- $(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include
-
-
+
false
-
- false
-
-
-
-
-
- Level3
- Disabled
- WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
-
-
- Console
- true
-
-
-
-
-
-
- Level3
- Disabled
- WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
-
-
- Console
- true
-
-
-
-
-
-
- Level3
- Disabled
- WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
-
-
- Console
- true
-
-
-
+
@@ -166,30 +85,13 @@
true
-
+
Level3
Full
true
- false
- WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
- true
-
-
-
-
- Level3
-
-
- MaxSpeed
- true
true
WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
@@ -205,30 +107,32 @@
./win32;%(AdditionalIncludeDirectories);%(SolutionDir)..\rapidjson\include;%(SolutionDir)..\explore;$(WindowsSDK_IncludePath);$(UniversalCRT_IncludePath)
ZLIB_WINAPI;%(PreprocessorDefinitions)
/D "_CRT_SECURE_NO_WARNINGS" /D "_CRT_NONSTDC_NO_DEPRECATE" %(AdditionalOptions)
+ true
+
AnySuitable
Speed
true
false
- MultiThreadedDLL
- MultiThreadedDebugDLL
- MultiThreadedDebug
- false
+ MultiThreadedDLL
+
+ ProgramDatabase
+ false
+ false
+ MultiThreadedDebugDLL
- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;$(SolutionDir)$(PlatformShortName)\$(Configuration)\vw_dynamic.lib;%(AdditionalDependencies)
+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;$(SolutionDir)out\target\$(Configuration)\$(PlatformShortName)\vw_core.lib;%(AdditionalDependencies)
win32\make_config_h.exe
-
- $(SolutionDir)x64\$(Configuration)\
- $(SolutionDir)$(PlatformShortName)\$(Configuration)\$(ProjectName)\
-
-
- $(SolutionDir)x86\$(Configuration)\
- $(SolutionDir)x86\$(Configuration)\
+
+
+ $(SolutionDir)out\target\$(Configuration)\$(PlatformShortName)\
+ $(SolutionDir)out\int\$(Configuration)\$(PlatformShortName)\$(ProjectName)\
+
@@ -236,14 +140,13 @@
-
+
{1e205806-7f80-47dd-a38d-fc08083f3593}
-
diff --git a/vowpalwabbit/vw_dynamic.vcxproj b/vowpalwabbit/vw_core.vcxproj
similarity index 75%
rename from vowpalwabbit/vw_dynamic.vcxproj
rename to vowpalwabbit/vw_core.vcxproj
index a313b8d5667..461f24dfc61 100644
--- a/vowpalwabbit/vw_dynamic.vcxproj
+++ b/vowpalwabbit/vw_core.vcxproj
@@ -1,14 +1,6 @@
-
- DebugLeakCheck
- Win32
-
-
- DebugLeakCheck
- x64
-
Debug
Win32
@@ -28,74 +20,31 @@
{1E205806-7F80-47DD-A38D-FC08083F3593}
+ StaticLibrary
+ Unicode
+ v140
+
Win32Proj
- vw_static
+ VW
.\
..\sdl\SDL-7.0-Recommended.ruleset
true
+
-
- StaticLibrary
+
+
true
- Unicode
- v140
-
-
- StaticLibrary
- true
- Unicode
- v140
-
-
- StaticLibrary
- true
- Unicode
-
-
- StaticLibrary
- true
- Unicode
-
-
- StaticLibrary
- true
- Unicode
- v140
-
-
- StaticLibrary
- true
- Unicode
- v140
-
-
- StaticLibrary
- false
- true
- Unicode
- v140
-
-
- DynamicLibrary
- false
- true
- Unicode
-
- StaticLibrary
+
false
true
- Unicode
- v140
+
-
-
-
-
+
@@ -114,48 +63,21 @@
-
-
+
+
true
- $(VC_IncludePath);$(WindowsSDK_IncludePath)
-
-
- true
- $(VC_IncludePath);$(WindowsSDK_IncludePath)
-
-
- true
-
-
- true
-
-
- true
- $(IncludePath)
NativeRecommendedRules.ruleset
false
-
-
+
-
- true
- $(IncludePath)
- NativeRecommendedRules.ruleset
- false
-
-
-
+
false
+
+
-
- false
-
-
- false
-
-
-
-
+
+
@@ -168,106 +90,7 @@
true
-
-
-
-
- Level3
- Disabled
- WIN32;_DEBUG;_WINDOWS;_USRDLL;VWDLL_EXPORTS;%(PreprocessorDefinitions)
-
-
- Windows
- true
-
-
-
-
-
-
- Level3
- Disabled
- WIN32;_DEBUG;_WINDOWS;_USRDLL;VWDLL_EXPORTS;%(PreprocessorDefinitions)
-
-
- Windows
- true
-
-
-
-
-
-
- Level3
- Disabled
- WIN32;_DEBUG;_WINDOWS;_USRDLL;VWDLL_EXPORTS;%(PreprocessorDefinitions)
-
-
- Windows
- true
-
-
-
-
-
-
- Level3
- Disabled
- WIN32;_DEBUG;_WINDOWS;_USRDLL;VWDLL_EXPORTS;%(PreprocessorDefinitions)
-
-
- Windows
- true
-
-
-
-
-
-
- Level3
- Disabled
- WIN32;_DEBUG;_WINDOWS;_USRDLL;VWDLL_EXPORTS;%(PreprocessorDefinitions)
-
-
- Windows
- true
-
-
-
-
- Level3
-
-
- MaxSpeed
- true
- true
- WIN32;NDEBUG;_WINDOWS;_USRDLL;VWDLL_EXPORTS;%(PreprocessorDefinitions)
-
-
- Windows
- true
- true
- true
-
-
-
-
- Level3
-
-
- MaxSpeed
- true
- true
- WIN32;NDEBUG;_WINDOWS;_USRDLL;VWDLL_EXPORTS;%(PreprocessorDefinitions)
-
-
- Windows
- true
- true
- true
-
-
-
+
Level3
@@ -284,31 +107,24 @@
true
+
..\explore\static;./win32;%(AdditionalIncludeDirectories);$(ProjectDir)\..\rapidjson\include;$(ProjectDir)\..\explore
ZLIB_WINAPI;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)
/D "_CRT_SECURE_NO_WARNINGS" %(AdditionalOptions)
+ true
+ NotSet
+
AnySuitable
Speed
true
false
- ProgramDatabase
- ProgramDatabase
- MultiThreadedDLL
- true
- false
- false
- NotSet
- NotSet
- NotSet
- NotSet
- NotSet
- NotSet
- true
- true
- false
- false
+ MultiThreadedDLL
+
+ ProgramDatabase
+ false
+ false
%(AdditionalLibraryDirectories)
@@ -317,7 +133,7 @@
win32\make_config_h.exe
-
+
-
+
+
+ $(SolutionDir)out\target\$(Configuration)\$(PlatformShortName)\
+ $(SolutionDir)out\int\$(Configuration)\$(PlatformShortName)\$(ProjectName)\
+
+
+
-
- CppHeader
-
@@ -447,6 +266,7 @@
+
@@ -536,7 +356,6 @@
-
@@ -582,7 +401,6 @@
This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
-