diff --git a/Version.txt b/Version.txt
index 0841e40d3a..88b20cc27e 100644
--- a/Version.txt
+++ b/Version.txt
@@ -1,2 +1,2 @@
-OR_TOOLS_MAJOR = 6
-OR_TOOLS_MINOR = 8
+OR_TOOLS_MAJOR=6
+OR_TOOLS_MINOR=8
diff --git a/cmake/utils.cmake b/cmake/utils.cmake
index 2853fb8b5c..4690888e1a 100644
--- a/cmake/utils.cmake
+++ b/cmake/utils.cmake
@@ -1,10 +1,10 @@
function(get_version_from_file VERSION_MAJOR VERSION_MINOR VERSION_PATCH)
file(STRINGS "Version.txt" VERSION_STR)
foreach(STR ${VERSION_STR})
- if(${STR} MATCHES "OR_TOOLS_MAJOR = (.*)")
+ if(${STR} MATCHES "OR_TOOLS_MAJOR=(.*)")
set(${VERSION_MAJOR} ${CMAKE_MATCH_1} PARENT_SCOPE)
endif()
- if(${STR} MATCHES "OR_TOOLS_MINOR = (.*)")
+ if(${STR} MATCHES "OR_TOOLS_MINOR=(.*)")
set(${VERSION_MINOR} ${CMAKE_MATCH_1} PARENT_SCOPE)
endif()
endforeach()
diff --git a/examples/dotnet/csharp-netfx/3_jugs_regular.cs b/examples/dotnet/3_jugs_regular.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/3_jugs_regular.cs
rename to examples/dotnet/3_jugs_regular.cs
diff --git a/examples/dotnet/3_jugs_regular.csproj b/examples/dotnet/3_jugs_regular.csproj
new file mode 100644
index 0000000000..71f2a7b8f7
--- /dev/null
+++ b/examples/dotnet/3_jugs_regular.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/fsharp/Program.fs b/examples/dotnet/Program.fs
similarity index 100%
rename from examples/dotnet/fsharp/Program.fs
rename to examples/dotnet/Program.fs
diff --git a/examples/dotnet/Program.fsproj b/examples/dotnet/Program.fsproj
new file mode 100644
index 0000000000..53512f8f44
--- /dev/null
+++ b/examples/dotnet/Program.fsproj
@@ -0,0 +1,19 @@
+
+
+ Exe
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/README.md b/examples/dotnet/README.md
index e163cbbd3f..ab7edca2f5 100644
--- a/examples/dotnet/README.md
+++ b/examples/dotnet/README.md
@@ -1,21 +1,17 @@
# Dotnet Core examples
+The following examples showcase how to use OrTools.
+The project solution has examples for both C# and F#.
-The following examples showcase how to use OrTools. The project solution has examples for both C# and F#.
+We recommend that all projects you create target `netcoreapp2.1`,
+as this allows you to compile for various frameworks and
+keep up-to-date with the latest frameworks.
-We recommend that all projects you create target `netcoreapp2.0` as this allows you to compile for various frameworks and keep up-to-date with the latest frameworks.
+Wherever you have or-tools installed, be sure to `PackageReference` the `Google.OrTools`
+from the project file.
-Wherever you have ortools installed, be sure to reference the `Google.OrTools.dll` from the project file. You will also need to reference the library folder housing native libraries.
+## Execution
+Running the examples will involve compiling them, then running them. You can run the following command:
+```bash
+dotnet run --project examples/dotnet/.csproj
+```
-### Linux
-To reference a particular folder on linux, you can either: explicitly set the **LD_LIBRARY_PATH**; or create a new configuration file with the path of the library folder in `/etc/ld.so.conf.d/` and then run `sudo ldconfig`. The former will set the path on a system level so that you don't have to use the environment.
-
-### MacOS
-To reference a particular folder on linux, you can explicitly set the **DYLD_LIBRARY_PATH**
-
-## CSharp/FSharp project examples
-
-By default all the examples are compiled in a console application with the startup object being the **Classname.Main** so that when compiled the entrypoint will be known.
-
-## NetFx/FSharp compiler examples
-
-Should you have another **netfx** you can compile individual file examples. Please see readme in the individual folders for the target language.
diff --git a/examples/dotnet/csharp-netfx/TaskScheduling.cs b/examples/dotnet/TaskScheduling.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/TaskScheduling.cs
rename to examples/dotnet/TaskScheduling.cs
diff --git a/examples/dotnet/TaskScheduling.csproj b/examples/dotnet/TaskScheduling.csproj
new file mode 100644
index 0000000000..e4f32bba52
--- /dev/null
+++ b/examples/dotnet/TaskScheduling.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp/a_puzzle.cs b/examples/dotnet/a_puzzle.cs
similarity index 100%
rename from examples/dotnet/csharp/a_puzzle.cs
rename to examples/dotnet/a_puzzle.cs
diff --git a/examples/dotnet/csharp/a_puzzle.csproj b/examples/dotnet/a_puzzle.csproj
similarity index 73%
rename from examples/dotnet/csharp/a_puzzle.csproj
rename to examples/dotnet/a_puzzle.csproj
index aabf8664a7..411f6805ba 100644
--- a/examples/dotnet/csharp/a_puzzle.csproj
+++ b/examples/dotnet/a_puzzle.csproj
@@ -1,9 +1,10 @@
Exe
- netcoreapp2.0
+ 7.2
+ netcoreapp2.1
false
- ../../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
diff --git a/examples/dotnet/csharp-netfx/a_round_of_golf.cs b/examples/dotnet/a_round_of_golf.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/a_round_of_golf.cs
rename to examples/dotnet/a_round_of_golf.cs
diff --git a/examples/dotnet/a_round_of_golf.csproj b/examples/dotnet/a_round_of_golf.csproj
new file mode 100644
index 0000000000..0c1c678903
--- /dev/null
+++ b/examples/dotnet/a_round_of_golf.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/all_interval.cs b/examples/dotnet/all_interval.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/all_interval.cs
rename to examples/dotnet/all_interval.cs
diff --git a/examples/dotnet/all_interval.csproj b/examples/dotnet/all_interval.csproj
new file mode 100644
index 0000000000..fa9d2f1b1d
--- /dev/null
+++ b/examples/dotnet/all_interval.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/alldifferent_except_0.cs b/examples/dotnet/alldifferent_except_0.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/alldifferent_except_0.cs
rename to examples/dotnet/alldifferent_except_0.cs
diff --git a/examples/dotnet/alldifferent_except_0.csproj b/examples/dotnet/alldifferent_except_0.csproj
new file mode 100644
index 0000000000..7960d0c693
--- /dev/null
+++ b/examples/dotnet/alldifferent_except_0.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/assignment.cs b/examples/dotnet/assignment.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/assignment.cs
rename to examples/dotnet/assignment.cs
diff --git a/examples/dotnet/assignment.csproj b/examples/dotnet/assignment.csproj
new file mode 100644
index 0000000000..1a29d1ccd5
--- /dev/null
+++ b/examples/dotnet/assignment.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/broken_weights.cs b/examples/dotnet/broken_weights.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/broken_weights.cs
rename to examples/dotnet/broken_weights.cs
diff --git a/examples/dotnet/broken_weights.csproj b/examples/dotnet/broken_weights.csproj
new file mode 100644
index 0000000000..f0b5058e8f
--- /dev/null
+++ b/examples/dotnet/broken_weights.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/bus_schedule.cs b/examples/dotnet/bus_schedule.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/bus_schedule.cs
rename to examples/dotnet/bus_schedule.cs
diff --git a/examples/dotnet/bus_schedule.csproj b/examples/dotnet/bus_schedule.csproj
new file mode 100644
index 0000000000..e07ee78aad
--- /dev/null
+++ b/examples/dotnet/bus_schedule.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/circuit.cs b/examples/dotnet/circuit.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/circuit.cs
rename to examples/dotnet/circuit.cs
diff --git a/examples/dotnet/circuit.csproj b/examples/dotnet/circuit.csproj
new file mode 100644
index 0000000000..d984830de5
--- /dev/null
+++ b/examples/dotnet/circuit.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/circuit2.cs b/examples/dotnet/circuit2.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/circuit2.cs
rename to examples/dotnet/circuit2.cs
diff --git a/examples/dotnet/circuit2.csproj b/examples/dotnet/circuit2.csproj
new file mode 100644
index 0000000000..f271c6d5d0
--- /dev/null
+++ b/examples/dotnet/circuit2.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/coins3.cs b/examples/dotnet/coins3.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/coins3.cs
rename to examples/dotnet/coins3.cs
diff --git a/examples/dotnet/coins3.csproj b/examples/dotnet/coins3.csproj
new file mode 100644
index 0000000000..dfcfaf70a2
--- /dev/null
+++ b/examples/dotnet/coins3.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/coins_grid.cs b/examples/dotnet/coins_grid.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/coins_grid.cs
rename to examples/dotnet/coins_grid.cs
diff --git a/examples/dotnet/coins_grid.csproj b/examples/dotnet/coins_grid.csproj
new file mode 100644
index 0000000000..962bd0086c
--- /dev/null
+++ b/examples/dotnet/coins_grid.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/combinatorial_auction2.cs b/examples/dotnet/combinatorial_auction2.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/combinatorial_auction2.cs
rename to examples/dotnet/combinatorial_auction2.cs
diff --git a/examples/dotnet/combinatorial_auction2.csproj b/examples/dotnet/combinatorial_auction2.csproj
new file mode 100644
index 0000000000..c38b90cd9c
--- /dev/null
+++ b/examples/dotnet/combinatorial_auction2.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/contiguity_regular.cs b/examples/dotnet/contiguity_regular.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/contiguity_regular.cs
rename to examples/dotnet/contiguity_regular.cs
diff --git a/examples/dotnet/contiguity_regular.csproj b/examples/dotnet/contiguity_regular.csproj
new file mode 100644
index 0000000000..b0d148431d
--- /dev/null
+++ b/examples/dotnet/contiguity_regular.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/contiguity_transition.cs b/examples/dotnet/contiguity_transition.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/contiguity_transition.cs
rename to examples/dotnet/contiguity_transition.cs
diff --git a/examples/dotnet/contiguity_transition.csproj b/examples/dotnet/contiguity_transition.csproj
new file mode 100644
index 0000000000..06001a89d7
--- /dev/null
+++ b/examples/dotnet/contiguity_transition.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/costas_array.cs b/examples/dotnet/costas_array.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/costas_array.cs
rename to examples/dotnet/costas_array.cs
diff --git a/examples/dotnet/costas_array.csproj b/examples/dotnet/costas_array.csproj
new file mode 100644
index 0000000000..8a670b05ae
--- /dev/null
+++ b/examples/dotnet/costas_array.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/covering_opl.cs b/examples/dotnet/covering_opl.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/covering_opl.cs
rename to examples/dotnet/covering_opl.cs
diff --git a/examples/dotnet/covering_opl.csproj b/examples/dotnet/covering_opl.csproj
new file mode 100644
index 0000000000..46baba3f49
--- /dev/null
+++ b/examples/dotnet/covering_opl.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/crew.cs b/examples/dotnet/crew.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/crew.cs
rename to examples/dotnet/crew.cs
diff --git a/examples/dotnet/crew.csproj b/examples/dotnet/crew.csproj
new file mode 100644
index 0000000000..02a2109514
--- /dev/null
+++ b/examples/dotnet/crew.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/crossword.cs b/examples/dotnet/crossword.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/crossword.cs
rename to examples/dotnet/crossword.cs
diff --git a/examples/dotnet/crossword.csproj b/examples/dotnet/crossword.csproj
new file mode 100644
index 0000000000..f312f5eccc
--- /dev/null
+++ b/examples/dotnet/crossword.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/crypta.cs b/examples/dotnet/crypta.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/crypta.cs
rename to examples/dotnet/crypta.cs
diff --git a/examples/dotnet/crypta.csproj b/examples/dotnet/crypta.csproj
new file mode 100644
index 0000000000..03dd641969
--- /dev/null
+++ b/examples/dotnet/crypta.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/crypto.cs b/examples/dotnet/crypto.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/crypto.cs
rename to examples/dotnet/crypto.cs
diff --git a/examples/dotnet/crypto.csproj b/examples/dotnet/crypto.csproj
new file mode 100644
index 0000000000..68a77d5453
--- /dev/null
+++ b/examples/dotnet/crypto.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/cscvrptw.cs b/examples/dotnet/cscvrptw.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/cscvrptw.cs
rename to examples/dotnet/cscvrptw.cs
diff --git a/examples/dotnet/cscvrptw.csproj b/examples/dotnet/cscvrptw.csproj
new file mode 100644
index 0000000000..26f4f586a0
--- /dev/null
+++ b/examples/dotnet/cscvrptw.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/csflow.cs b/examples/dotnet/csflow.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/csflow.cs
rename to examples/dotnet/csflow.cs
diff --git a/examples/dotnet/csflow.csproj b/examples/dotnet/csflow.csproj
new file mode 100644
index 0000000000..09e589b575
--- /dev/null
+++ b/examples/dotnet/csflow.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/csfz.cs b/examples/dotnet/csfz.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/csfz.cs
rename to examples/dotnet/csfz.cs
diff --git a/examples/dotnet/csfz.csproj b/examples/dotnet/csfz.csproj
new file mode 100644
index 0000000000..6e2ec80711
--- /dev/null
+++ b/examples/dotnet/csfz.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/README.md b/examples/dotnet/csharp-netfx/README.md
deleted file mode 100644
index 90d42bab57..0000000000
--- a/examples/dotnet/csharp-netfx/README.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# Examples of using or-tools in C#
-
-This file describes how to use the or-tools .NET binary archive in C#
-
-## Execution
-
-Running the examples will involve compiling them, then running them. You can run the following command for your target operating system.
-
-For example you can compile and run `csflow.cs`. This assumes you have the archive library in a folder called `bin`.
-
-
-### Windows (32 bit)
-```
-csc /target:exe /out:bin\csflow.exe /platform:x86 /lib:bin /r:Google.OrTools.dll examples\csharp\csflow.cs
-bin\csflow.exe
-```
-
-### Windows (64 bit)
-```
-csc /target:exe /out:bin/csflow.exe /platform:x64 /lib:bin /r:Google.OrTools.dll examples\csharp\csflow.cs
-bin\csflow.exe
-```
-
-### Linux (framework 4.6+ via mono must be installed)
-```
-mcs /target:exe /out:bin/csflow.exe /platform:anycpu /lib:bin /r:Google.OrTools.dll examples/csharp/csflow.cs
-mono bin/csflow.exe
-```
-
-### Mac OS X (framework 4.6+ via mono must be installed)
-```
-mcs /target:exe /out:bin/csflow.exe /platform:anycpu /lib:bin /r:Google.OrTools.dll examples/csharp/csflow.cs
-DYLD_FALLBACK_LIBRARY_PATH=lib mono64 bin/csflow.exe
-```
\ No newline at end of file
diff --git a/examples/dotnet/csharp-netfx/a_puzzle.cs b/examples/dotnet/csharp-netfx/a_puzzle.cs
deleted file mode 100644
index ccf9397505..0000000000
--- a/examples/dotnet/csharp-netfx/a_puzzle.cs
+++ /dev/null
@@ -1,263 +0,0 @@
-//
-// Copyright 2012 Hakan Kjellerstrand
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-using System;
-using System.Linq;
-using Google.OrTools.ConstraintSolver;
-
-public class APuzzle
-{
- /**
- *
- * From "God plays dice"
- * "A puzzle"
- * http://gottwurfelt.wordpress.com/2012/02/22/a-puzzle/
- * And the sequel "Answer to a puzzle"
- * http://gottwurfelt.wordpress.com/2012/02/24/an-answer-to-a-puzzle/
- *
- * This problem instance was taken from the latter blog post.
- * (Problem 1)
- *
- * """
- * 8809 = 6
- * 7111 = 0
- * 2172 = 0
- * 6666 = 4
- * 1111 = 0
- * 3213 = 0
- * 7662 = 2
- * 9312 = 1
- * 0000 = 4
- * 2222 = 0
- * 3333 = 0
- * 5555 = 0
- * 8193 = 3
- * 8096 = 5
- * 7777 = 0
- * 9999 = 4
- * 7756 = 1
- * 6855 = 3
- * 9881 = 5
- * 5531 = 0
- *
- * 2581 = ?
- * """
- *
- * Note:
- * This model yields 10 solutions, since x4 is not
- * restricted in the constraints.
- * All solutions has x assigned to the correct result.
- *
- *
- * (Problem 2)
- * The problem stated in "A puzzle"
- * http://gottwurfelt.wordpress.com/2012/02/22/a-puzzle/
- * is
- * """
- * 8809 = 6
- * 7662 = 2
- * 9312 = 1
- * 8193 = 3
- * 8096 = 5
- * 7756 = 1
- * 6855 = 3
- * 9881 = 5
- *
- * 2581 = ?
- * """
- * This problem instance yields two different solutions of x,
- * one is the same (correct) as for the above problem instance,
- * and one is not.
- * This is because here x0,x1,x4 and x9 are underdefined.
- *
- *
- */
- private static void Solve(int p = 1)
- {
- Solver solver = new Solver("APuzzle");
-
- Console.WriteLine("\nSolving p{0}", p);
-
-
- //
- // Data
- //
- int n = 10;
-
- //
- // Decision variables
- //
- IntVar x0 = solver.MakeIntVar(0, n-1, "x0");
- IntVar x1 = solver.MakeIntVar(0, n-1, "x1");
- IntVar x2 = solver.MakeIntVar(0, n-1, "x2");
- IntVar x3 = solver.MakeIntVar(0, n-1, "x3");
- IntVar x4 = solver.MakeIntVar(0, n-1, "x4");
- IntVar x5 = solver.MakeIntVar(0, n-1, "x5");
- IntVar x6 = solver.MakeIntVar(0, n-1, "x6");
- IntVar x7 = solver.MakeIntVar(0, n-1, "x7");
- IntVar x8 = solver.MakeIntVar(0, n-1, "x8");
- IntVar x9 = solver.MakeIntVar(0, n-1, "x9");
-
- IntVar[] all = {x0,x1,x2,x3,x4,x5,x6,x7,x8,x9};
-
- // The unknown, i.e. 2581 = x
- IntVar x = solver.MakeIntVar(0, n-1, "x");
-
-
- //
- // Constraints
- //
-
- // Both problem are here shown in two
- // approaches:
- // - using equations
- // - using a a matrix and Sum of each row
-
- if (p == 1) {
-
- // Problem 1
- solver.Add(x8+x8+x0+x9 == 6);
- solver.Add(x7+x1+x1+x1 == 0);
- solver.Add(x2+x1+x7+x2 == 0);
- solver.Add(x6+x6+x6+x6 == 4);
- solver.Add(x1+x1+x1+x1 == 0);
- solver.Add(x3+x2+x1+x3 == 0);
- solver.Add(x7+x6+x6+x2 == 2);
- solver.Add(x9+x3+x1+x2 == 1);
- solver.Add(x0+x0+x0+x0 == 4);
- solver.Add(x2+x2+x2+x2 == 0);
- solver.Add(x3+x3+x3+x3 == 0);
- solver.Add(x5+x5+x5+x5 == 0);
- solver.Add(x8+x1+x9+x3 == 3);
- solver.Add(x8+x0+x9+x6 == 5);
- solver.Add(x7+x7+x7+x7 == 0);
- solver.Add(x9+x9+x9+x9 == 4);
- solver.Add(x7+x7+x5+x6 == 1);
- solver.Add(x6+x8+x5+x5 == 3);
- solver.Add(x9+x8+x8+x1 == 5);
- solver.Add(x5+x5+x3+x1 == 0);
-
- // The unknown
- solver.Add(x2+x5+x8+x1 == x);
-
- } else if (p == 2) {
-
- // Another representation of Problem 1
- int[,] problem1 = {
- {8,8,0,9, 6},
- {7,1,1,1, 0},
- {2,1,7,2, 0},
- {6,6,6,6, 4},
- {1,1,1,1, 0},
- {3,2,1,3, 0},
- {7,6,6,2, 2},
- {9,3,1,2, 1},
- {0,0,0,0, 4},
- {2,2,2,2, 0},
- {3,3,3,3, 0},
- {5,5,5,5, 0},
- {8,1,9,3, 3},
- {8,0,9,6, 5},
- {7,7,7,7, 0},
- {9,9,9,9, 4},
- {7,7,5,6, 1},
- {6,8,5,5, 3},
- {9,8,8,1, 5},
- {5,5,3,1, 0}
- };
-
- for(int i = 0; i < problem1.GetLength(0); i++) {
- solver.Add( (from j in Enumerable.Range(0, 4)
- select all[problem1[i,j]]
- ).ToArray().Sum() == problem1[i,4] );
- }
-
- solver.Add(all[2]+all[5]+all[8]+all[1] == x);
-
- } else if (p == 3) {
-
- // Problem 2
- solver.Add(x8+x8+x0+x9 == 6);
- solver.Add(x7+x6+x6+x2 == 2);
- solver.Add(x9+x3+x1+x2 == 1);
- solver.Add(x8+x1+x9+x3 == 3);
- solver.Add(x8+x0+x9+x6 == 5);
- solver.Add(x7+x7+x5+x6 == 1);
- solver.Add(x6+x8+x5+x5 == 3);
- solver.Add(x9+x8+x8+x1 == 5);
-
- // The unknown
- solver.Add(x2+x5+x8+x1 == x);
-
- } else {
-
- // Another representation of Problem 2
- int[,] problem2 = {
- {8,8,0,9, 6},
- {7,6,6,2, 2},
- {9,3,1,2, 1},
- {8,1,9,3, 3},
- {8,0,9,6, 5},
- {7,7,5,6, 1},
- {6,8,5,5, 3},
- {9,8,8,1, 5}
- };
-
- for(int i = 0; i < problem2.GetLength(0); i++) {
- solver.Add( (from j in Enumerable.Range(0, 4)
- select all[problem2[i,j]]
- ).ToArray().Sum() == problem2[i,4] );
- }
-
-
- solver.Add(all[2]+all[5]+all[8]+all[1] == x);
- }
-
-
-
- //
- // Search
- //
- DecisionBuilder db = solver.MakePhase(all,
- Solver.INT_VAR_DEFAULT,
- Solver.INT_VALUE_DEFAULT);
-
-
- solver.NewSearch(db);
- int c = 0;
- while (solver.NextSolution()) {
- Console.Write("x: {0} x0..x9: ", x.Value());
- for(int i = 0; i < n; i++) {
- Console.Write(all[i].Value() + " ");
- }
- Console.WriteLine();
- }
-
- Console.WriteLine("\nSolutions: {0}", solver.Solutions());
- Console.WriteLine("WallTime: {0}ms", solver.WallTime());
- Console.WriteLine("Failures: {0}", solver.Failures());
- Console.WriteLine("Branches: {0} ", solver.Branches());
-
- solver.EndSearch();
-
- }
-
- public static void Main(String[] args)
- {
- for(int p = 1; p <= 4; p++) {
- Solve(p);
- }
- }
-}
diff --git a/examples/dotnet/csharp-netfx/csintegerprogramming.cs b/examples/dotnet/csintegerprogramming.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/csintegerprogramming.cs
rename to examples/dotnet/csintegerprogramming.cs
diff --git a/examples/dotnet/csintegerprogramming.csproj b/examples/dotnet/csintegerprogramming.csproj
new file mode 100644
index 0000000000..a6f30c4dde
--- /dev/null
+++ b/examples/dotnet/csintegerprogramming.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/csjobshop.cs b/examples/dotnet/csjobshop.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/csjobshop.cs
rename to examples/dotnet/csjobshop.cs
diff --git a/examples/dotnet/csjobshop.csproj b/examples/dotnet/csjobshop.csproj
new file mode 100644
index 0000000000..300b903faf
--- /dev/null
+++ b/examples/dotnet/csjobshop.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/csknapsack.cs b/examples/dotnet/csknapsack.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/csknapsack.cs
rename to examples/dotnet/csknapsack.cs
diff --git a/examples/dotnet/csknapsack.csproj b/examples/dotnet/csknapsack.csproj
new file mode 100644
index 0000000000..e1c0c48c60
--- /dev/null
+++ b/examples/dotnet/csknapsack.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/cslinearprogramming.cs b/examples/dotnet/cslinearprogramming.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/cslinearprogramming.cs
rename to examples/dotnet/cslinearprogramming.cs
diff --git a/examples/dotnet/cslinearprogramming.csproj b/examples/dotnet/cslinearprogramming.csproj
new file mode 100644
index 0000000000..9cbd71bb80
--- /dev/null
+++ b/examples/dotnet/cslinearprogramming.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/csls_api.cs b/examples/dotnet/csls_api.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/csls_api.cs
rename to examples/dotnet/csls_api.cs
diff --git a/examples/dotnet/csls_api.csproj b/examples/dotnet/csls_api.csproj
new file mode 100644
index 0000000000..6fa258efe5
--- /dev/null
+++ b/examples/dotnet/csls_api.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/csrabbitspheasants.cs b/examples/dotnet/csrabbitspheasants.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/csrabbitspheasants.cs
rename to examples/dotnet/csrabbitspheasants.cs
diff --git a/examples/dotnet/csrabbitspheasants.csproj b/examples/dotnet/csrabbitspheasants.csproj
new file mode 100644
index 0000000000..40152fb1f4
--- /dev/null
+++ b/examples/dotnet/csrabbitspheasants.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/cstsp.cs b/examples/dotnet/cstsp.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/cstsp.cs
rename to examples/dotnet/cstsp.cs
diff --git a/examples/dotnet/cstsp.csproj b/examples/dotnet/cstsp.csproj
new file mode 100644
index 0000000000..7781f900f0
--- /dev/null
+++ b/examples/dotnet/cstsp.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/curious_set_of_integers.cs b/examples/dotnet/curious_set_of_integers.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/curious_set_of_integers.cs
rename to examples/dotnet/curious_set_of_integers.cs
diff --git a/examples/dotnet/curious_set_of_integers.csproj b/examples/dotnet/curious_set_of_integers.csproj
new file mode 100644
index 0000000000..d8b48d4263
--- /dev/null
+++ b/examples/dotnet/curious_set_of_integers.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/debruijn.cs b/examples/dotnet/debruijn.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/debruijn.cs
rename to examples/dotnet/debruijn.cs
diff --git a/examples/dotnet/debruijn.csproj b/examples/dotnet/debruijn.csproj
new file mode 100644
index 0000000000..e4a79a53b2
--- /dev/null
+++ b/examples/dotnet/debruijn.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/diet.cs b/examples/dotnet/diet.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/diet.cs
rename to examples/dotnet/diet.cs
diff --git a/examples/dotnet/diet.csproj b/examples/dotnet/diet.csproj
new file mode 100644
index 0000000000..4c0cde0c94
--- /dev/null
+++ b/examples/dotnet/diet.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/discrete_tomography.cs b/examples/dotnet/discrete_tomography.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/discrete_tomography.cs
rename to examples/dotnet/discrete_tomography.cs
diff --git a/examples/dotnet/discrete_tomography.csproj b/examples/dotnet/discrete_tomography.csproj
new file mode 100644
index 0000000000..2c05efe628
--- /dev/null
+++ b/examples/dotnet/discrete_tomography.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/divisible_by_9_through_1.cs b/examples/dotnet/divisible_by_9_through_1.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/divisible_by_9_through_1.cs
rename to examples/dotnet/divisible_by_9_through_1.cs
diff --git a/examples/dotnet/divisible_by_9_through_1.csproj b/examples/dotnet/divisible_by_9_through_1.csproj
new file mode 100644
index 0000000000..92651eaad1
--- /dev/null
+++ b/examples/dotnet/divisible_by_9_through_1.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/dudeney.cs b/examples/dotnet/dudeney.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/dudeney.cs
rename to examples/dotnet/dudeney.cs
diff --git a/examples/dotnet/dudeney.csproj b/examples/dotnet/dudeney.csproj
new file mode 100644
index 0000000000..4b3ecabbb0
--- /dev/null
+++ b/examples/dotnet/dudeney.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/einav_puzzle2.cs b/examples/dotnet/einav_puzzle2.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/einav_puzzle2.cs
rename to examples/dotnet/einav_puzzle2.cs
diff --git a/examples/dotnet/einav_puzzle2.csproj b/examples/dotnet/einav_puzzle2.csproj
new file mode 100644
index 0000000000..a2bdf6422c
--- /dev/null
+++ b/examples/dotnet/einav_puzzle2.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/eq10.cs b/examples/dotnet/eq10.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/eq10.cs
rename to examples/dotnet/eq10.cs
diff --git a/examples/dotnet/eq10.csproj b/examples/dotnet/eq10.csproj
new file mode 100644
index 0000000000..01da6fb867
--- /dev/null
+++ b/examples/dotnet/eq10.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/eq20.cs b/examples/dotnet/eq20.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/eq20.cs
rename to examples/dotnet/eq20.cs
diff --git a/examples/dotnet/eq20.csproj b/examples/dotnet/eq20.csproj
new file mode 100644
index 0000000000..308f883a0d
--- /dev/null
+++ b/examples/dotnet/eq20.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/fill_a_pix.cs b/examples/dotnet/fill_a_pix.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/fill_a_pix.cs
rename to examples/dotnet/fill_a_pix.cs
diff --git a/examples/dotnet/fill_a_pix.csproj b/examples/dotnet/fill_a_pix.csproj
new file mode 100644
index 0000000000..afca050999
--- /dev/null
+++ b/examples/dotnet/fill_a_pix.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/fsharp/Program.fsproj b/examples/dotnet/fsharp/Program.fsproj
deleted file mode 100644
index c523e31222..0000000000
--- a/examples/dotnet/fsharp/Program.fsproj
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
- Exe
- netcoreapp2.0
- false
-
-
-
-
-
- ..\..\..\bin\Google.OrTools.dll
-
-
- ..\..\..\bin\Google.OrTools.FSharp.dll
-
-
-
-
diff --git a/examples/dotnet/csharp-netfx/furniture_moving.cs b/examples/dotnet/furniture_moving.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/furniture_moving.cs
rename to examples/dotnet/furniture_moving.cs
diff --git a/examples/dotnet/furniture_moving.csproj b/examples/dotnet/furniture_moving.csproj
new file mode 100644
index 0000000000..4c22a0d21e
--- /dev/null
+++ b/examples/dotnet/furniture_moving.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/furniture_moving_intervals.cs b/examples/dotnet/furniture_moving_intervals.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/furniture_moving_intervals.cs
rename to examples/dotnet/furniture_moving_intervals.cs
diff --git a/examples/dotnet/furniture_moving_intervals.csproj b/examples/dotnet/furniture_moving_intervals.csproj
new file mode 100644
index 0000000000..6c58ce9540
--- /dev/null
+++ b/examples/dotnet/furniture_moving_intervals.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/futoshiki.cs b/examples/dotnet/futoshiki.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/futoshiki.cs
rename to examples/dotnet/futoshiki.cs
diff --git a/examples/dotnet/futoshiki.csproj b/examples/dotnet/futoshiki.csproj
new file mode 100644
index 0000000000..2fe77951c2
--- /dev/null
+++ b/examples/dotnet/futoshiki.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/gate_scheduling_sat.cs b/examples/dotnet/gate_scheduling_sat.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/gate_scheduling_sat.cs
rename to examples/dotnet/gate_scheduling_sat.cs
diff --git a/examples/dotnet/gate_scheduling_sat.csproj b/examples/dotnet/gate_scheduling_sat.csproj
new file mode 100644
index 0000000000..e6b3d5fe83
--- /dev/null
+++ b/examples/dotnet/gate_scheduling_sat.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/golomb_ruler.cs b/examples/dotnet/golomb_ruler.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/golomb_ruler.cs
rename to examples/dotnet/golomb_ruler.cs
diff --git a/examples/dotnet/golomb_ruler.csproj b/examples/dotnet/golomb_ruler.csproj
new file mode 100644
index 0000000000..f5df7fc20b
--- /dev/null
+++ b/examples/dotnet/golomb_ruler.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/grocery.cs b/examples/dotnet/grocery.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/grocery.cs
rename to examples/dotnet/grocery.cs
diff --git a/examples/dotnet/grocery.csproj b/examples/dotnet/grocery.csproj
new file mode 100644
index 0000000000..9b180a763d
--- /dev/null
+++ b/examples/dotnet/grocery.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/hidato_table.cs b/examples/dotnet/hidato_table.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/hidato_table.cs
rename to examples/dotnet/hidato_table.cs
diff --git a/examples/dotnet/hidato_table.csproj b/examples/dotnet/hidato_table.csproj
new file mode 100644
index 0000000000..9cf993a9aa
--- /dev/null
+++ b/examples/dotnet/hidato_table.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/jobshop_ft06_sat.cs b/examples/dotnet/jobshop_ft06_sat.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/jobshop_ft06_sat.cs
rename to examples/dotnet/jobshop_ft06_sat.cs
diff --git a/examples/dotnet/jobshop_ft06_sat.csproj b/examples/dotnet/jobshop_ft06_sat.csproj
new file mode 100644
index 0000000000..62a04306d3
--- /dev/null
+++ b/examples/dotnet/jobshop_ft06_sat.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/just_forgotten.cs b/examples/dotnet/just_forgotten.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/just_forgotten.cs
rename to examples/dotnet/just_forgotten.cs
diff --git a/examples/dotnet/just_forgotten.csproj b/examples/dotnet/just_forgotten.csproj
new file mode 100644
index 0000000000..517213d02a
--- /dev/null
+++ b/examples/dotnet/just_forgotten.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/kakuro.cs b/examples/dotnet/kakuro.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/kakuro.cs
rename to examples/dotnet/kakuro.cs
diff --git a/examples/dotnet/kakuro.csproj b/examples/dotnet/kakuro.csproj
new file mode 100644
index 0000000000..a40c241143
--- /dev/null
+++ b/examples/dotnet/kakuro.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/kenken2.cs b/examples/dotnet/kenken2.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/kenken2.cs
rename to examples/dotnet/kenken2.cs
diff --git a/examples/dotnet/kenken2.csproj b/examples/dotnet/kenken2.csproj
new file mode 100644
index 0000000000..055a7d14d4
--- /dev/null
+++ b/examples/dotnet/kenken2.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/killer_sudoku.cs b/examples/dotnet/killer_sudoku.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/killer_sudoku.cs
rename to examples/dotnet/killer_sudoku.cs
diff --git a/examples/dotnet/killer_sudoku.csproj b/examples/dotnet/killer_sudoku.csproj
new file mode 100644
index 0000000000..d3ed46377a
--- /dev/null
+++ b/examples/dotnet/killer_sudoku.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/labeled_dice.cs b/examples/dotnet/labeled_dice.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/labeled_dice.cs
rename to examples/dotnet/labeled_dice.cs
diff --git a/examples/dotnet/labeled_dice.csproj b/examples/dotnet/labeled_dice.csproj
new file mode 100644
index 0000000000..ac619a2506
--- /dev/null
+++ b/examples/dotnet/labeled_dice.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/langford.cs b/examples/dotnet/langford.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/langford.cs
rename to examples/dotnet/langford.cs
diff --git a/examples/dotnet/langford.csproj b/examples/dotnet/langford.csproj
new file mode 100644
index 0000000000..bd627f5795
--- /dev/null
+++ b/examples/dotnet/langford.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/least_diff.cs b/examples/dotnet/least_diff.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/least_diff.cs
rename to examples/dotnet/least_diff.cs
diff --git a/examples/dotnet/least_diff.csproj b/examples/dotnet/least_diff.csproj
new file mode 100644
index 0000000000..693d4d9428
--- /dev/null
+++ b/examples/dotnet/least_diff.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/lectures.cs b/examples/dotnet/lectures.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/lectures.cs
rename to examples/dotnet/lectures.cs
diff --git a/examples/dotnet/lectures.csproj b/examples/dotnet/lectures.csproj
new file mode 100644
index 0000000000..270e9282bf
--- /dev/null
+++ b/examples/dotnet/lectures.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/magic_sequence.cs b/examples/dotnet/magic_sequence.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/magic_sequence.cs
rename to examples/dotnet/magic_sequence.cs
diff --git a/examples/dotnet/magic_sequence.csproj b/examples/dotnet/magic_sequence.csproj
new file mode 100644
index 0000000000..e755a0c1db
--- /dev/null
+++ b/examples/dotnet/magic_sequence.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/magic_square.cs b/examples/dotnet/magic_square.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/magic_square.cs
rename to examples/dotnet/magic_square.cs
diff --git a/examples/dotnet/magic_square.csproj b/examples/dotnet/magic_square.csproj
new file mode 100644
index 0000000000..fb3bf4baf3
--- /dev/null
+++ b/examples/dotnet/magic_square.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/magic_square_and_cards.cs b/examples/dotnet/magic_square_and_cards.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/magic_square_and_cards.cs
rename to examples/dotnet/magic_square_and_cards.cs
diff --git a/examples/dotnet/magic_square_and_cards.csproj b/examples/dotnet/magic_square_and_cards.csproj
new file mode 100644
index 0000000000..f54eef04ff
--- /dev/null
+++ b/examples/dotnet/magic_square_and_cards.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/map.cs b/examples/dotnet/map.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/map.cs
rename to examples/dotnet/map.cs
diff --git a/examples/dotnet/map.csproj b/examples/dotnet/map.csproj
new file mode 100644
index 0000000000..621c25ce79
--- /dev/null
+++ b/examples/dotnet/map.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/map2.cs b/examples/dotnet/map2.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/map2.cs
rename to examples/dotnet/map2.cs
diff --git a/examples/dotnet/map2.csproj b/examples/dotnet/map2.csproj
new file mode 100644
index 0000000000..9bd13f592e
--- /dev/null
+++ b/examples/dotnet/map2.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/marathon2.cs b/examples/dotnet/marathon2.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/marathon2.cs
rename to examples/dotnet/marathon2.cs
diff --git a/examples/dotnet/marathon2.csproj b/examples/dotnet/marathon2.csproj
new file mode 100644
index 0000000000..f5799aaec1
--- /dev/null
+++ b/examples/dotnet/marathon2.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/max_flow_taha.cs b/examples/dotnet/max_flow_taha.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/max_flow_taha.cs
rename to examples/dotnet/max_flow_taha.cs
diff --git a/examples/dotnet/max_flow_taha.csproj b/examples/dotnet/max_flow_taha.csproj
new file mode 100644
index 0000000000..4857d6fa20
--- /dev/null
+++ b/examples/dotnet/max_flow_taha.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/max_flow_winston1.cs b/examples/dotnet/max_flow_winston1.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/max_flow_winston1.cs
rename to examples/dotnet/max_flow_winston1.cs
diff --git a/examples/dotnet/max_flow_winston1.csproj b/examples/dotnet/max_flow_winston1.csproj
new file mode 100644
index 0000000000..ee266d2324
--- /dev/null
+++ b/examples/dotnet/max_flow_winston1.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/minesweeper.cs b/examples/dotnet/minesweeper.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/minesweeper.cs
rename to examples/dotnet/minesweeper.cs
diff --git a/examples/dotnet/minesweeper.csproj b/examples/dotnet/minesweeper.csproj
new file mode 100644
index 0000000000..be7c9d1db5
--- /dev/null
+++ b/examples/dotnet/minesweeper.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/mr_smith.cs b/examples/dotnet/mr_smith.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/mr_smith.cs
rename to examples/dotnet/mr_smith.cs
diff --git a/examples/dotnet/mr_smith.csproj b/examples/dotnet/mr_smith.csproj
new file mode 100644
index 0000000000..5eac875381
--- /dev/null
+++ b/examples/dotnet/mr_smith.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/nontransitive_dice.cs b/examples/dotnet/nontransitive_dice.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/nontransitive_dice.cs
rename to examples/dotnet/nontransitive_dice.cs
diff --git a/examples/dotnet/nontransitive_dice.csproj b/examples/dotnet/nontransitive_dice.csproj
new file mode 100644
index 0000000000..0f710f011e
--- /dev/null
+++ b/examples/dotnet/nontransitive_dice.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/nqueens.cs b/examples/dotnet/nqueens.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/nqueens.cs
rename to examples/dotnet/nqueens.cs
diff --git a/examples/dotnet/nqueens.csproj b/examples/dotnet/nqueens.csproj
new file mode 100644
index 0000000000..0f12c4ed65
--- /dev/null
+++ b/examples/dotnet/nqueens.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/nurse_rostering_regular.cs b/examples/dotnet/nurse_rostering_regular.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/nurse_rostering_regular.cs
rename to examples/dotnet/nurse_rostering_regular.cs
diff --git a/examples/dotnet/nurse_rostering_regular.csproj b/examples/dotnet/nurse_rostering_regular.csproj
new file mode 100644
index 0000000000..1a815295a7
--- /dev/null
+++ b/examples/dotnet/nurse_rostering_regular.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/nurse_rostering_transition.cs b/examples/dotnet/nurse_rostering_transition.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/nurse_rostering_transition.cs
rename to examples/dotnet/nurse_rostering_transition.cs
diff --git a/examples/dotnet/nurse_rostering_transition.csproj b/examples/dotnet/nurse_rostering_transition.csproj
new file mode 100644
index 0000000000..38c21a331a
--- /dev/null
+++ b/examples/dotnet/nurse_rostering_transition.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/nurses_sat.cs b/examples/dotnet/nurses_sat.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/nurses_sat.cs
rename to examples/dotnet/nurses_sat.cs
diff --git a/examples/dotnet/nurses_sat.csproj b/examples/dotnet/nurses_sat.csproj
new file mode 100644
index 0000000000..4815415f26
--- /dev/null
+++ b/examples/dotnet/nurses_sat.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/olympic.cs b/examples/dotnet/olympic.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/olympic.cs
rename to examples/dotnet/olympic.cs
diff --git a/examples/dotnet/olympic.csproj b/examples/dotnet/olympic.csproj
new file mode 100644
index 0000000000..97290a8e9f
--- /dev/null
+++ b/examples/dotnet/olympic.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/organize_day.cs b/examples/dotnet/organize_day.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/organize_day.cs
rename to examples/dotnet/organize_day.cs
diff --git a/examples/dotnet/organize_day.csproj b/examples/dotnet/organize_day.csproj
new file mode 100644
index 0000000000..dbc5b21cd4
--- /dev/null
+++ b/examples/dotnet/organize_day.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/organize_day_intervals.cs b/examples/dotnet/organize_day_intervals.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/organize_day_intervals.cs
rename to examples/dotnet/organize_day_intervals.cs
diff --git a/examples/dotnet/organize_day_intervals.csproj b/examples/dotnet/organize_day_intervals.csproj
new file mode 100644
index 0000000000..b6c2626fb0
--- /dev/null
+++ b/examples/dotnet/organize_day_intervals.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/p_median.cs b/examples/dotnet/p_median.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/p_median.cs
rename to examples/dotnet/p_median.cs
diff --git a/examples/dotnet/p_median.csproj b/examples/dotnet/p_median.csproj
new file mode 100644
index 0000000000..dfd305105d
--- /dev/null
+++ b/examples/dotnet/p_median.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/pandigital_numbers.cs b/examples/dotnet/pandigital_numbers.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/pandigital_numbers.cs
rename to examples/dotnet/pandigital_numbers.cs
diff --git a/examples/dotnet/pandigital_numbers.csproj b/examples/dotnet/pandigital_numbers.csproj
new file mode 100644
index 0000000000..1a4bee6037
--- /dev/null
+++ b/examples/dotnet/pandigital_numbers.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/partition.cs b/examples/dotnet/partition.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/partition.cs
rename to examples/dotnet/partition.cs
diff --git a/examples/dotnet/partition.csproj b/examples/dotnet/partition.csproj
new file mode 100644
index 0000000000..09b1114322
--- /dev/null
+++ b/examples/dotnet/partition.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/perfect_square_sequence.cs b/examples/dotnet/perfect_square_sequence.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/perfect_square_sequence.cs
rename to examples/dotnet/perfect_square_sequence.cs
diff --git a/examples/dotnet/perfect_square_sequence.csproj b/examples/dotnet/perfect_square_sequence.csproj
new file mode 100644
index 0000000000..d7636c446f
--- /dev/null
+++ b/examples/dotnet/perfect_square_sequence.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/photo_problem.cs b/examples/dotnet/photo_problem.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/photo_problem.cs
rename to examples/dotnet/photo_problem.cs
diff --git a/examples/dotnet/photo_problem.csproj b/examples/dotnet/photo_problem.csproj
new file mode 100644
index 0000000000..d9f2aabe76
--- /dev/null
+++ b/examples/dotnet/photo_problem.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/place_number_puzzle.cs b/examples/dotnet/place_number_puzzle.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/place_number_puzzle.cs
rename to examples/dotnet/place_number_puzzle.cs
diff --git a/examples/dotnet/place_number_puzzle.csproj b/examples/dotnet/place_number_puzzle.csproj
new file mode 100644
index 0000000000..e4a7559b68
--- /dev/null
+++ b/examples/dotnet/place_number_puzzle.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/post_office_problem2.cs b/examples/dotnet/post_office_problem2.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/post_office_problem2.cs
rename to examples/dotnet/post_office_problem2.cs
diff --git a/examples/dotnet/post_office_problem2.csproj b/examples/dotnet/post_office_problem2.csproj
new file mode 100644
index 0000000000..48d66d9730
--- /dev/null
+++ b/examples/dotnet/post_office_problem2.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/quasigroup_completion.cs b/examples/dotnet/quasigroup_completion.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/quasigroup_completion.cs
rename to examples/dotnet/quasigroup_completion.cs
diff --git a/examples/dotnet/quasigroup_completion.csproj b/examples/dotnet/quasigroup_completion.csproj
new file mode 100644
index 0000000000..e7364edcb6
--- /dev/null
+++ b/examples/dotnet/quasigroup_completion.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/regex.cs b/examples/dotnet/regex.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/regex.cs
rename to examples/dotnet/regex.cs
diff --git a/examples/dotnet/regex.csproj b/examples/dotnet/regex.csproj
new file mode 100644
index 0000000000..611aa0f07f
--- /dev/null
+++ b/examples/dotnet/regex.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/rogo2.cs b/examples/dotnet/rogo2.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/rogo2.cs
rename to examples/dotnet/rogo2.cs
diff --git a/examples/dotnet/rogo2.csproj b/examples/dotnet/rogo2.csproj
new file mode 100644
index 0000000000..889b83a95a
--- /dev/null
+++ b/examples/dotnet/rogo2.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/scheduling_speakers.cs b/examples/dotnet/scheduling_speakers.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/scheduling_speakers.cs
rename to examples/dotnet/scheduling_speakers.cs
diff --git a/examples/dotnet/scheduling_speakers.csproj b/examples/dotnet/scheduling_speakers.csproj
new file mode 100644
index 0000000000..00f2dc106d
--- /dev/null
+++ b/examples/dotnet/scheduling_speakers.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/secret_santa.cs b/examples/dotnet/secret_santa.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/secret_santa.cs
rename to examples/dotnet/secret_santa.cs
diff --git a/examples/dotnet/secret_santa.csproj b/examples/dotnet/secret_santa.csproj
new file mode 100644
index 0000000000..f0e96c7e91
--- /dev/null
+++ b/examples/dotnet/secret_santa.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/secret_santa2.cs b/examples/dotnet/secret_santa2.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/secret_santa2.cs
rename to examples/dotnet/secret_santa2.cs
diff --git a/examples/dotnet/secret_santa2.csproj b/examples/dotnet/secret_santa2.csproj
new file mode 100644
index 0000000000..60bd165670
--- /dev/null
+++ b/examples/dotnet/secret_santa2.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/send_more_money.cs b/examples/dotnet/send_more_money.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/send_more_money.cs
rename to examples/dotnet/send_more_money.cs
diff --git a/examples/dotnet/send_more_money.csproj b/examples/dotnet/send_more_money.csproj
new file mode 100644
index 0000000000..e4b225c618
--- /dev/null
+++ b/examples/dotnet/send_more_money.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/send_more_money2.cs b/examples/dotnet/send_more_money2.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/send_more_money2.cs
rename to examples/dotnet/send_more_money2.cs
diff --git a/examples/dotnet/send_more_money2.csproj b/examples/dotnet/send_more_money2.csproj
new file mode 100644
index 0000000000..557f339eac
--- /dev/null
+++ b/examples/dotnet/send_more_money2.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/send_most_money.cs b/examples/dotnet/send_most_money.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/send_most_money.cs
rename to examples/dotnet/send_most_money.cs
diff --git a/examples/dotnet/send_most_money.csproj b/examples/dotnet/send_most_money.csproj
new file mode 100644
index 0000000000..a556b764d6
--- /dev/null
+++ b/examples/dotnet/send_most_money.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/seseman.cs b/examples/dotnet/seseman.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/seseman.cs
rename to examples/dotnet/seseman.cs
diff --git a/examples/dotnet/seseman.csproj b/examples/dotnet/seseman.csproj
new file mode 100644
index 0000000000..341f9bcd99
--- /dev/null
+++ b/examples/dotnet/seseman.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/set_covering.cs b/examples/dotnet/set_covering.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/set_covering.cs
rename to examples/dotnet/set_covering.cs
diff --git a/examples/dotnet/set_covering.csproj b/examples/dotnet/set_covering.csproj
new file mode 100644
index 0000000000..2b9995a52e
--- /dev/null
+++ b/examples/dotnet/set_covering.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/set_covering2.cs b/examples/dotnet/set_covering2.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/set_covering2.cs
rename to examples/dotnet/set_covering2.cs
diff --git a/examples/dotnet/set_covering2.csproj b/examples/dotnet/set_covering2.csproj
new file mode 100644
index 0000000000..b0f91666a5
--- /dev/null
+++ b/examples/dotnet/set_covering2.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/set_covering3.cs b/examples/dotnet/set_covering3.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/set_covering3.cs
rename to examples/dotnet/set_covering3.cs
diff --git a/examples/dotnet/set_covering3.csproj b/examples/dotnet/set_covering3.csproj
new file mode 100644
index 0000000000..d9dfaa159d
--- /dev/null
+++ b/examples/dotnet/set_covering3.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/set_covering4.cs b/examples/dotnet/set_covering4.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/set_covering4.cs
rename to examples/dotnet/set_covering4.cs
diff --git a/examples/dotnet/set_covering4.csproj b/examples/dotnet/set_covering4.csproj
new file mode 100644
index 0000000000..84356c294f
--- /dev/null
+++ b/examples/dotnet/set_covering4.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/set_covering_deployment.cs b/examples/dotnet/set_covering_deployment.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/set_covering_deployment.cs
rename to examples/dotnet/set_covering_deployment.cs
diff --git a/examples/dotnet/set_covering_deployment.csproj b/examples/dotnet/set_covering_deployment.csproj
new file mode 100644
index 0000000000..448c0f3090
--- /dev/null
+++ b/examples/dotnet/set_covering_deployment.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/set_covering_skiena.cs b/examples/dotnet/set_covering_skiena.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/set_covering_skiena.cs
rename to examples/dotnet/set_covering_skiena.cs
diff --git a/examples/dotnet/set_covering_skiena.csproj b/examples/dotnet/set_covering_skiena.csproj
new file mode 100644
index 0000000000..98f11809f9
--- /dev/null
+++ b/examples/dotnet/set_covering_skiena.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/set_partition.cs b/examples/dotnet/set_partition.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/set_partition.cs
rename to examples/dotnet/set_partition.cs
diff --git a/examples/dotnet/set_partition.csproj b/examples/dotnet/set_partition.csproj
new file mode 100644
index 0000000000..17167c7812
--- /dev/null
+++ b/examples/dotnet/set_partition.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/sicherman_dice.cs b/examples/dotnet/sicherman_dice.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/sicherman_dice.cs
rename to examples/dotnet/sicherman_dice.cs
diff --git a/examples/dotnet/sicherman_dice.csproj b/examples/dotnet/sicherman_dice.csproj
new file mode 100644
index 0000000000..0123e3ffa7
--- /dev/null
+++ b/examples/dotnet/sicherman_dice.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/ski_assignment.cs b/examples/dotnet/ski_assignment.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/ski_assignment.cs
rename to examples/dotnet/ski_assignment.cs
diff --git a/examples/dotnet/ski_assignment.csproj b/examples/dotnet/ski_assignment.csproj
new file mode 100644
index 0000000000..f872f1c75c
--- /dev/null
+++ b/examples/dotnet/ski_assignment.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/slow_scheduling.cs b/examples/dotnet/slow_scheduling.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/slow_scheduling.cs
rename to examples/dotnet/slow_scheduling.cs
diff --git a/examples/dotnet/slow_scheduling.csproj b/examples/dotnet/slow_scheduling.csproj
new file mode 100644
index 0000000000..be5e8c4d63
--- /dev/null
+++ b/examples/dotnet/slow_scheduling.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/stable_marriage.cs b/examples/dotnet/stable_marriage.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/stable_marriage.cs
rename to examples/dotnet/stable_marriage.cs
diff --git a/examples/dotnet/stable_marriage.csproj b/examples/dotnet/stable_marriage.csproj
new file mode 100644
index 0000000000..d7ca73e2c7
--- /dev/null
+++ b/examples/dotnet/stable_marriage.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/strimko2.cs b/examples/dotnet/strimko2.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/strimko2.cs
rename to examples/dotnet/strimko2.cs
diff --git a/examples/dotnet/strimko2.csproj b/examples/dotnet/strimko2.csproj
new file mode 100644
index 0000000000..43bb305d23
--- /dev/null
+++ b/examples/dotnet/strimko2.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/subset_sum.cs b/examples/dotnet/subset_sum.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/subset_sum.cs
rename to examples/dotnet/subset_sum.cs
diff --git a/examples/dotnet/subset_sum.csproj b/examples/dotnet/subset_sum.csproj
new file mode 100644
index 0000000000..d065fff3f5
--- /dev/null
+++ b/examples/dotnet/subset_sum.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/sudoku.cs b/examples/dotnet/sudoku.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/sudoku.cs
rename to examples/dotnet/sudoku.cs
diff --git a/examples/dotnet/sudoku.csproj b/examples/dotnet/sudoku.csproj
new file mode 100644
index 0000000000..7abc60d3c7
--- /dev/null
+++ b/examples/dotnet/sudoku.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/survo_puzzle.cs b/examples/dotnet/survo_puzzle.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/survo_puzzle.cs
rename to examples/dotnet/survo_puzzle.cs
diff --git a/examples/dotnet/survo_puzzle.csproj b/examples/dotnet/survo_puzzle.csproj
new file mode 100644
index 0000000000..322a438ed5
--- /dev/null
+++ b/examples/dotnet/survo_puzzle.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/techtalk_scheduling.cs b/examples/dotnet/techtalk_scheduling.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/techtalk_scheduling.cs
rename to examples/dotnet/techtalk_scheduling.cs
diff --git a/examples/dotnet/techtalk_scheduling.csproj b/examples/dotnet/techtalk_scheduling.csproj
new file mode 100644
index 0000000000..70db1dad8d
--- /dev/null
+++ b/examples/dotnet/techtalk_scheduling.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/to_num.cs b/examples/dotnet/to_num.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/to_num.cs
rename to examples/dotnet/to_num.cs
diff --git a/examples/dotnet/to_num.csproj b/examples/dotnet/to_num.csproj
new file mode 100644
index 0000000000..b2460702cb
--- /dev/null
+++ b/examples/dotnet/to_num.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/traffic_lights.cs b/examples/dotnet/traffic_lights.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/traffic_lights.cs
rename to examples/dotnet/traffic_lights.cs
diff --git a/examples/dotnet/traffic_lights.csproj b/examples/dotnet/traffic_lights.csproj
new file mode 100644
index 0000000000..107aeb2c57
--- /dev/null
+++ b/examples/dotnet/traffic_lights.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp/tsp.cs b/examples/dotnet/tsp.cs
similarity index 100%
rename from examples/dotnet/csharp/tsp.cs
rename to examples/dotnet/tsp.cs
diff --git a/examples/dotnet/csharp/tsp.csproj b/examples/dotnet/tsp.csproj
similarity index 75%
rename from examples/dotnet/csharp/tsp.csproj
rename to examples/dotnet/tsp.csproj
index c59c5c890e..53981206bc 100644
--- a/examples/dotnet/csharp/tsp.csproj
+++ b/examples/dotnet/tsp.csproj
@@ -1,20 +1,20 @@
-
-
- Exe
- 7.2
- netcoreapp2.0
- false
- ../../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
-
-
-
- full
- true
- true
-
-
-
-
-
-
-
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/volsay.cs b/examples/dotnet/volsay.cs
similarity index 88%
rename from examples/dotnet/csharp-netfx/volsay.cs
rename to examples/dotnet/volsay.cs
index a04a2f44e4..0d300acbf5 100644
--- a/examples/dotnet/csharp-netfx/volsay.cs
+++ b/examples/dotnet/volsay.cs
@@ -1,5 +1,5 @@
-//
// Copyright 2012 Hakan Kjellerstrand
+// Copyright 2018 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -19,29 +19,20 @@ using System.Collections.Generic;
using System.Linq;
using Google.OrTools.LinearSolver;
-
-public class Volsay
-{
-
+public class Volsay {
/**
- *
* Volsay problem.
*
* From the OPL model volsay.mod.
*
- *
* Also see http://www.hakank.org/or-tools/volsay.py
- *
*/
- private static void Solve()
- {
-
+ private static void Solve() {
Solver solver = new Solver("Volsay", Solver.CLP_LINEAR_PROGRAMMING);
//
// Variables
//
-
Variable Gas = solver.MakeNumVar(0, 100000, "Gas");
Variable Chloride = solver.MakeNumVar(0, 100000, "Cloride");
@@ -67,23 +58,20 @@ public class Volsay
Chloride.SolutionValue(),
Chloride.ReducedCost());
+ double[] activities = solver.ComputeConstraintActivities();
Console.WriteLine("c1 : DualValue: {0} Activity: {1}",
c1.DualValue(),
- c1.Activity());
+ activities[c1.Index()]);
Console.WriteLine("c2 : DualValue: {0} Activity: {1}",
c2.DualValue(),
- c2.Activity());
-
-
+ activities[c2.Index()]);
Console.WriteLine("\nWallTime: " + solver.WallTime());
Console.WriteLine("Iterations: " + solver.Iterations());
-
}
- public static void Main(String[] args)
- {
+ public static void Main(String[] args) {
Solve();
}
}
diff --git a/examples/dotnet/volsay.csproj b/examples/dotnet/volsay.csproj
new file mode 100644
index 0000000000..30f38ace5a
--- /dev/null
+++ b/examples/dotnet/volsay.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/volsay2.cs b/examples/dotnet/volsay2.cs
similarity index 78%
rename from examples/dotnet/csharp-netfx/volsay2.cs
rename to examples/dotnet/volsay2.cs
index 8b26705148..6f7992c9a4 100644
--- a/examples/dotnet/csharp-netfx/volsay2.cs
+++ b/examples/dotnet/volsay2.cs
@@ -1,5 +1,5 @@
-//
// Copyright 2012 Hakan Kjellerstrand
+// Copyright 2018 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -19,30 +19,20 @@ using System.Collections.Generic;
using System.Linq;
using Google.OrTools.LinearSolver;
-
-public class Volsay2
-{
-
+public class Volsay2 {
/**
- *
* Volsay problem.
*
* From the OPL model volsay.mod.
*
- *
- *
- * Also see
+ * Also see
* http://www.hakank.org/or-tools/volsay.cs
- * http://www.hakank.org/or-tools/volsay2.py
- *
+ * http://www.hakank.org/or-tools/volsay2.py
*/
- private static void Solve()
- {
-
+ private static void Solve() {
Solver solver = new Solver("Volsay2",
Solver.CLP_LINEAR_PROGRAMMING);
-
int num_products = 2;
IEnumerable PRODUCTS = Enumerable.Range(0, num_products);
int Gas = 0;
@@ -63,7 +53,6 @@ public class Volsay2
cons[0] = solver.Add(production[Gas] + production[Chloride] <= 50);
cons[1] = solver.Add(3 * production[Gas] + 4 * production[Chloride] <= 180);
-
solver.Maximize(40 * production[Gas] + 50 * production[Chloride]);
Console.WriteLine("NumConstraints: {0}", solver.NumConstraints());
@@ -76,32 +65,29 @@ public class Volsay2
}
foreach(int p in PRODUCTS) {
- Console.WriteLine("{0,-10}: {1} ReducedCost: {2}",
+ Console.WriteLine("{0,-10}: {1} ReducedCost: {2}",
products[p],
- production[p].SolutionValue(),
+ production[p].SolutionValue(),
production[p].ReducedCost());
}
-
+ double[] activities = solver.ComputeConstraintActivities();
foreach(int c in CONSTRAINTS) {
- Console.WriteLine("Constraint {0} DualValue {1} Activity: {2} lb: {3} ub: {4}",
- c.ToString(),
- cons[c].DualValue(),
- cons[c].Activity(),
- cons[c].Lb(),
- cons[c].Ub()
- );
+ Console.WriteLine(
+ "Constraint {0} DualValue {1} Activity: {2} lb: {3} ub: {4}",
+ c.ToString(),
+ cons[c].DualValue(),
+ activities[cons[c].Index()],
+ cons[c].Lb(),
+ cons[c].Ub());
}
-
-
Console.WriteLine("\nWallTime: " + solver.WallTime());
Console.WriteLine("Iterations: " + solver.Iterations());
}
- public static void Main(String[] args)
- {
+ public static void Main(String[] args) {
Solve();
}
}
diff --git a/examples/dotnet/volsay2.csproj b/examples/dotnet/volsay2.csproj
new file mode 100644
index 0000000000..e55f7ff7df
--- /dev/null
+++ b/examples/dotnet/volsay2.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/volsay3.cs b/examples/dotnet/volsay3.cs
similarity index 92%
rename from examples/dotnet/csharp-netfx/volsay3.cs
rename to examples/dotnet/volsay3.cs
index f2310bd024..ac13eba7c2 100644
--- a/examples/dotnet/csharp-netfx/volsay3.cs
+++ b/examples/dotnet/volsay3.cs
@@ -1,5 +1,5 @@
-//
// Copyright 2012 Hakan Kjellerstrand
+// Copyright 2018 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -19,30 +19,21 @@ using System.Collections.Generic;
using System.Linq;
using Google.OrTools.LinearSolver;
-
-public class Volsay3
-{
-
+public class Volsay3 {
/**
- *
* Volsay problem.
*
* From the OPL model volsay.mod.
* This version use arrays and matrices
*
- *
* Also see
* http://www.hakank.org/or-tools/volsay2.cs
* http://www.hakank.org/or-tools/volsay3.py
- *
*/
- private static void Solve()
- {
-
+ private static void Solve() {
Solver solver = new Solver("Volsay3",
Solver.CLP_LINEAR_PROGRAMMING);
-
int num_products = 2;
IEnumerable PRODUCTS = Enumerable.Range(0, num_products);
String[] products = {"Gas", "Chloride"};
@@ -52,7 +43,6 @@ public class Volsay3
int[] profit = {30,40};
int[] stock = {50,180,40};
-
//
// Variables
//
@@ -80,8 +70,6 @@ public class Volsay3
ToArray().Sum()
);
-
-
if (solver.Solve() != Solver.OPTIMAL) {
Console.WriteLine("The problem don't have an optimal solution.");
return;
@@ -95,24 +83,21 @@ public class Volsay3
production[p].ReducedCost());
}
-
+ double[] activities = solver.ComputeConstraintActivities();
for(int c = 0; c < c_len; c++) {
Console.WriteLine("Constraint {0} DualValue {1} Activity: {2} lb: {3} ub: {4}",
c,
cons[c].DualValue(),
- cons[c].Activity(),
+ activities[cons[c].Index()],
cons[c].Lb(),
cons[c].Ub());
}
-
Console.WriteLine("\nWallTime: " + solver.WallTime());
Console.WriteLine("Iterations: " + solver.Iterations());
-
}
- public static void Main(String[] args)
- {
+ public static void Main(String[] args) {
Solve();
}
}
diff --git a/examples/dotnet/volsay3.csproj b/examples/dotnet/volsay3.csproj
new file mode 100644
index 0000000000..9290432eca
--- /dev/null
+++ b/examples/dotnet/volsay3.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/wedding_optimal_chart.cs b/examples/dotnet/wedding_optimal_chart.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/wedding_optimal_chart.cs
rename to examples/dotnet/wedding_optimal_chart.cs
diff --git a/examples/dotnet/wedding_optimal_chart.csproj b/examples/dotnet/wedding_optimal_chart.csproj
new file mode 100644
index 0000000000..30e67037c4
--- /dev/null
+++ b/examples/dotnet/wedding_optimal_chart.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/who_killed_agatha.cs b/examples/dotnet/who_killed_agatha.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/who_killed_agatha.cs
rename to examples/dotnet/who_killed_agatha.cs
diff --git a/examples/dotnet/who_killed_agatha.csproj b/examples/dotnet/who_killed_agatha.csproj
new file mode 100644
index 0000000000..6ed8c1555d
--- /dev/null
+++ b/examples/dotnet/who_killed_agatha.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/word_square.cs b/examples/dotnet/word_square.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/word_square.cs
rename to examples/dotnet/word_square.cs
diff --git a/examples/dotnet/word_square.csproj b/examples/dotnet/word_square.csproj
new file mode 100644
index 0000000000..8358f553a4
--- /dev/null
+++ b/examples/dotnet/word_square.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/xkcd.cs b/examples/dotnet/xkcd.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/xkcd.cs
rename to examples/dotnet/xkcd.cs
diff --git a/examples/dotnet/xkcd.csproj b/examples/dotnet/xkcd.csproj
new file mode 100644
index 0000000000..54c40b360d
--- /dev/null
+++ b/examples/dotnet/xkcd.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/young_tableaux.cs b/examples/dotnet/young_tableaux.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/young_tableaux.cs
rename to examples/dotnet/young_tableaux.cs
diff --git a/examples/dotnet/young_tableaux.csproj b/examples/dotnet/young_tableaux.csproj
new file mode 100644
index 0000000000..63bc221a28
--- /dev/null
+++ b/examples/dotnet/young_tableaux.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/examples/dotnet/csharp-netfx/zebra.cs b/examples/dotnet/zebra.cs
similarity index 100%
rename from examples/dotnet/csharp-netfx/zebra.cs
rename to examples/dotnet/zebra.cs
diff --git a/examples/dotnet/zebra.csproj b/examples/dotnet/zebra.csproj
new file mode 100644
index 0000000000..fc697bfac8
--- /dev/null
+++ b/examples/dotnet/zebra.csproj
@@ -0,0 +1,20 @@
+
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
diff --git a/makefiles/Makefile.dotnet.mk b/makefiles/Makefile.dotnet.mk
index a0370f7742..cd30d5f47c 100644
--- a/makefiles/Makefile.dotnet.mk
+++ b/makefiles/Makefile.dotnet.mk
@@ -27,14 +27,6 @@ endif
# List Examples and Tests
TEMP_DOTNET_DIR=temp_dotnet
-DOTNET_EXAMPLES = \
-$(TEMP_DOTNET_DIR)/tsp$D \
-$(TEMP_DOTNET_DIR)/a_puzzle$D \
-#$(TEMP_DOTNET_DIR)/Program$D
-
-DOTNET_TESTS = \
-#$(TEMP_DOTNET_DIR)/algorithms_test$D
-
# Main target
.PHONY: dotnet # Build OrTools for .NET
.PHONY: test_dotnet # Test dotnet version of OR-Tools
@@ -48,9 +40,7 @@ else
dotnet: \
ortoolslibs \
csharp_dotnet \
- fsharp_dotnet \
- $(DOTNET_TESTS) \
- $(DOTNET_EXAMPLES)
+ fsharp_dotnet
test_dotnet: test_dotnet_examples
BUILT_LANGUAGES +=, dotnet \(netstandard2.0\)
@@ -382,7 +372,7 @@ else # This generic rule will be used if EX variable is set
EX_NAME = $(basename $(notdir $(EX)))
.PHONY: cdotnet
-cdotnet: $(BIN_DIR)/$(EX_NAME)$D
+cdotnet: $(TEMP_DOTNET_DIR)/$(EX_NAME)$D
.PHONY: rdotnet
rdotnet: $(BIN_DIR)/$(EX_NAME)$D
@@ -391,8 +381,8 @@ rdotnet: $(BIN_DIR)/$(EX_NAME)$D
endif # ifeq ($(EX),)
$(TEMP_DOTNET_DIR)/%$D: \
- $(DOTNET_EX_DIR)/csharp/%.csproj \
- $(DOTNET_EX_DIR)/csharp/%.cs \
+ $(DOTNET_EX_DIR)/%.csproj \
+ $(DOTNET_EX_DIR)/%.cs \
$(DOTNET_ORTOOLS_NUPKG) \
| $(TEMP_DOTNET_DIR)
"$(DOTNET_BIN)" build \
@@ -400,16 +390,19 @@ $(TEMP_DOTNET_DIR)/%$D: \
$(DOTNET_EX_PATH)$Scsharp$S$*.csproj
$(TEMP_DOTNET_DIR)/%$D: \
- $(DOTNET_EX_DIR)/fsharp/%.fsproj \
- $(DOTNET_EX_DIR)/fsharp/%.fs \
+ $(DOTNET_EX_DIR)/%.fsproj \
+ $(DOTNET_EX_DIR)/%.fs \
$(DOTNET_ORTOOLS_FSHARP_NUPKG) \
- | $(BIN_DIR)
+ | $(TEMP_DOTNET_DIR)
"$(DOTNET_BIN)" build \
-o "..$S..$S..$S$(TEMP_DOTNET_DIR)" \
$(DOTNET_EX_PATH)$Sfsharp$S$*.fsproj
-rdotnet_%: $(DOTNET_EX_DIR)/csharp/%.csproj
- "$(DOTNET_BIN)" run --project $(DOTNET_EX_PATH)$Scsharp$S$*.csproj -- $(ARGS)
+rdotnet_%: $(DOTNET_EX_DIR)/%.csproj
+ "$(DOTNET_BIN)" run --project $(DOTNET_EX_PATH)$S$*.csproj -- $(ARGS)
+
+rdotnet_%: $(DOTNET_EX_DIR)/%.fsproj
+ "$(DOTNET_BIN)" run --project $(DOTNET_EX_PATH)$S$*.fsproj -- $(ARGS)
################
## Cleaning ##
diff --git a/makefiles/Makefile.test.mk b/makefiles/Makefile.test.mk
index ce907c415d..1fb6e5d0c1 100755
--- a/makefiles/Makefile.test.mk
+++ b/makefiles/Makefile.test.mk
@@ -254,33 +254,125 @@ test_java_examples: java
$(MAKE) rjava_YoungTableaux
.PHONY: test_donet_examples
-test_dotnet_examples: dotnet \
-rdotnet_a_puzzle \
-rdotnet_tsp \
-#rdotnet_Program
-
-# csharp test
-.PHONY: test_csharp_examples
-test_csharp_examples: csharp
- $(warning C# netfx not working)
- $(MONO) $(BIN_DIR)$Scslinearprogramming$(CLR_EXE_SUFFIX).exe
- $(MONO) $(BIN_DIR)$Scsintegerprogramming$(CLR_EXE_SUFFIX).exe
- $(MONO) $(BIN_DIR)$Scsrabbitspheasants$(CLR_EXE_SUFFIX).exe
- $(MONO) $(BIN_DIR)$Scsflow$(CLR_EXE_SUFFIX).exe
- $(MONO) $(BIN_DIR)$Scsknapsack$(CLR_EXE_SUFFIX).exe
- $(MONO) $(BIN_DIR)$Sfurniture_moving_intervals$(CLR_EXE_SUFFIX).exe
- $(MONO) $(BIN_DIR)$Sorganize_day_intervals$(CLR_EXE_SUFFIX).exe
- $(MONO) $(BIN_DIR)$Sfurniture_moving_intervals$(CLR_EXE_SUFFIX).exe
- $(MONO) $(BIN_DIR)$Stechtalk_scheduling$(CLR_EXE_SUFFIX).exe
- $(MONO) $(BIN_DIR)$Snurses_sat$(CLR_EXE_SUFFIX).exe
- $(MONO) $(BIN_DIR)$Sjobshop_ft06_sat$(CLR_EXE_SUFFIX).exe
- $(MONO) $(BIN_DIR)$Scsls_api$(CLR_EXE_SUFFIX).exe
- $(MONO) $(BIN_DIR)$Scstsp$(CLR_EXE_SUFFIX).exe
- $(MONO) $(BIN_DIR)$Scscvrptw$(CLR_EXE_SUFFIX).exe
- $(MONO) $(BIN_DIR)$Stestcp$(CLR_EXE_SUFFIX).exe
- $(MONO) $(BIN_DIR)$Stestlp$(CLR_EXE_SUFFIX).exe
- $(MONO) $(BIN_DIR)$Stest_sat_model$(CLR_EXE_SUFFIX).exe
-
-.PHONY: test_fsharp_examples
-test_fsharp_examples: fsharp
- $(warning F# netfx tests unimplemented)
+test_dotnet_examples: dotnet
+ $(MAKE) rdotnet_3_jugs_regular # csharp examples
+ $(MAKE) rdotnet_alldifferent_except_0
+ $(MAKE) rdotnet_all_interval
+ $(MAKE) rdotnet_a_puzzle
+ $(MAKE) rdotnet_a_round_of_golf
+ $(MAKE) rdotnet_assignment
+ $(MAKE) rdotnet_broken_weights
+ $(MAKE) rdotnet_bus_schedule
+ $(MAKE) rdotnet_circuit2
+ $(MAKE) rdotnet_circuit
+ $(MAKE) rdotnet_coins3
+ $(MAKE) rdotnet_coins_grid ARGS="5 2"
+ $(MAKE) rdotnet_combinatorial_auction2
+ $(MAKE) rdotnet_contiguity_regular
+ $(MAKE) rdotnet_contiguity_transition
+ $(MAKE) rdotnet_costas_array
+ $(MAKE) rdotnet_covering_opl
+ $(MAKE) rdotnet_crew
+ $(MAKE) rdotnet_crossword
+ $(MAKE) rdotnet_crypta
+ $(MAKE) rdotnet_crypto
+ $(MAKE) rdotnet_cscvrptw
+ $(MAKE) rdotnet_csflow
+ $(MAKE) rdotnet_csintegerprogramming
+ $(MAKE) rdotnet_csjobshop
+ $(MAKE) rdotnet_csknapsack
+ $(MAKE) rdotnet_cslinearprogramming
+ $(MAKE) rdotnet_csls_api
+ $(MAKE) rdotnet_csrabbitspheasants
+ $(MAKE) rdotnet_cstsp
+ $(MAKE) rdotnet_curious_set_of_integers
+ $(MAKE) rdotnet_debruijn
+ $(MAKE) rdotnet_diet
+ $(MAKE) rdotnet_discrete_tomography
+ $(MAKE) rdotnet_divisible_by_9_through_1
+ $(MAKE) rdotnet_dudeney
+ $(MAKE) rdotnet_einav_puzzle2
+ $(MAKE) rdotnet_eq10
+ $(MAKE) rdotnet_eq20
+ $(MAKE) rdotnet_fill_a_pix
+ $(MAKE) rdotnet_furniture_moving
+ $(MAKE) rdotnet_furniture_moving_intervals
+ $(MAKE) rdotnet_futoshiki
+ $(MAKE) rdotnet_gate_scheduling_sat
+ $(MAKE) rdotnet_golomb_ruler
+ $(MAKE) rdotnet_grocery
+ $(MAKE) rdotnet_hidato_table
+ $(MAKE) rdotnet_jobshop_ft06_sat
+ $(MAKE) rdotnet_just_forgotten
+ $(MAKE) rdotnet_kakuro
+ $(MAKE) rdotnet_kenken2
+ $(MAKE) rdotnet_killer_sudoku
+ $(MAKE) rdotnet_labeled_dice
+ $(MAKE) rdotnet_langford
+ $(MAKE) rdotnet_least_diff
+ $(MAKE) rdotnet_lectures
+ $(MAKE) rdotnet_magic_sequence
+ $(MAKE) rdotnet_magic_square_and_cards
+ $(MAKE) rdotnet_magic_square
+ $(MAKE) rdotnet_map2
+ $(MAKE) rdotnet_map
+ $(MAKE) rdotnet_marathon2
+ $(MAKE) rdotnet_max_flow_taha
+ $(MAKE) rdotnet_max_flow_winston1
+ $(MAKE) rdotnet_minesweeper
+ $(MAKE) rdotnet_mr_smith
+# $(MAKE) rdotnet_nontransitive_dice # too long
+ $(MAKE) rdotnet_nqueens
+ $(MAKE) rdotnet_nurse_rostering_regular
+ $(MAKE) rdotnet_nurse_rostering_transition
+ $(MAKE) rdotnet_nurses_sat
+ $(MAKE) rdotnet_olympic
+ $(MAKE) rdotnet_organize_day
+ $(MAKE) rdotnet_organize_day_intervals
+ $(MAKE) rdotnet_pandigital_numbers
+# $(MAKE) rdotnet_partition # too long
+ $(MAKE) rdotnet_perfect_square_sequence
+ $(MAKE) rdotnet_photo_problem
+ $(MAKE) rdotnet_place_number_puzzle
+ $(MAKE) rdotnet_p_median
+ $(MAKE) rdotnet_post_office_problem2
+ $(MAKE) rdotnet_quasigroup_completion
+ $(MAKE) rdotnet_regex
+ $(MAKE) rdotnet_rogo2
+ $(MAKE) rdotnet_scheduling_speakers
+ $(MAKE) rdotnet_secret_santa2
+# $(MAKE) rdotnet_secret_santa # too long
+ $(MAKE) rdotnet_send_more_money2
+ $(MAKE) rdotnet_send_more_money
+ $(MAKE) rdotnet_send_most_money
+ $(MAKE) rdotnet_seseman
+ $(MAKE) rdotnet_set_covering2
+ $(MAKE) rdotnet_set_covering3
+ $(MAKE) rdotnet_set_covering4
+ $(MAKE) rdotnet_set_covering
+ $(MAKE) rdotnet_set_covering_deployment
+ $(MAKE) rdotnet_set_covering_skiena
+ $(MAKE) rdotnet_set_partition
+ $(MAKE) rdotnet_sicherman_dice
+ $(MAKE) rdotnet_ski_assignment
+ $(MAKE) rdotnet_slow_scheduling
+ $(MAKE) rdotnet_stable_marriage
+ $(MAKE) rdotnet_strimko2
+ $(MAKE) rdotnet_subset_sum
+ $(MAKE) rdotnet_sudoku
+ $(MAKE) rdotnet_survo_puzzle
+ $(MAKE) rdotnet_TaskScheduling
+ $(MAKE) rdotnet_techtalk_scheduling
+ $(MAKE) rdotnet_to_num
+ $(MAKE) rdotnet_traffic_lights
+ $(MAKE) rdotnet_tsp
+ $(MAKE) rdotnet_volsay
+ $(MAKE) rdotnet_volsay2
+ $(MAKE) rdotnet_volsay3
+ $(MAKE) rdotnet_wedding_optimal_chart
+ $(MAKE) rdotnet_who_killed_agatha
+ $(MAKE) rdotnet_word_square
+ $(MAKE) rdotnet_xkcd
+ $(MAKE) rdotnet_young_tableaux
+ $(MAKE) rdotnet_zebra
+ $(MAKE) rdotnet_Program # fsharp examples
diff --git a/tools/generate_examples_csproj.sh b/tools/generate_examples_csproj.sh
new file mode 100755
index 0000000000..4201d3257a
--- /dev/null
+++ b/tools/generate_examples_csproj.sh
@@ -0,0 +1,74 @@
+#!/usr/bin/env bash
+# usage: ./tools/generate_examples_csproj.sh
+
+set -e
+
+# Gets OR_TOOLS_MAJOR and OR_TOOLS_MINOR
+DIR="${BASH_SOURCE%/*}"
+if [[ ! -d "${DIR}" ]]; then
+ DIR="${PWD}";
+fi
+# shellcheck disable=SC1090
+. "${DIR}/../Version.txt"
+
+for FILE in examples/dotnet/*.cs; do
+ # if no files found do nothing
+ [ -e "$FILE" ] || continue
+ PROJ="${FILE%.cs}.csproj";
+ echo "Generate $PROJ..."
+ BASE=$(basename "$FILE")
+ cat >"$PROJ" <
+
+ Exe
+ 7.2
+ netcoreapp2.1
+ false
+ ../../packages;\$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
+EOL
+ echo "Generate $PROJ...DONE"
+done
+
+for FILE in examples/dotnet/*.fs; do
+ # if no files found do nothing
+ [ -e "$FILE" ] || continue
+ PROJ="${FILE%.fs}.fsproj";
+ echo "Generate $PROJ..."
+ BASE=$(basename "$FILE")
+ cat >"$PROJ" <
+
+ Exe
+ netcoreapp2.1
+ false
+ ../../packages;\$(RestoreSources);https://api.nuget.org/v3/index.json
+
+
+
+ full
+ true
+ true
+
+
+
+
+
+
+
+EOL
+ echo "Generate $PROJ...DONE"
+done
+# vim: set tw=0 ts=2 sw=2 expandtab: