diff --git a/Ambrosia/Ambrosia/Ambrosia.csproj b/Ambrosia/Ambrosia/Ambrosia.csproj
index b2bcb72..eff5044 100644
--- a/Ambrosia/Ambrosia/Ambrosia.csproj
+++ b/Ambrosia/Ambrosia/Ambrosia.csproj
@@ -15,6 +15,7 @@
$(DefineConstants);NETCORE
+
15.8.168
@@ -25,11 +26,13 @@
5.8.1
+
4.3.0
+
- 9.3.2
+ 9.3.3
2018.11.5.1
@@ -43,6 +46,9 @@
+
+ 4.5.0
+
4.5.0
diff --git a/Clients/CSharp/AmbrosiaCS/AmbrosiaCS.csproj b/Clients/CSharp/AmbrosiaCS/AmbrosiaCS.csproj
index e87681f..b89ec63 100644
--- a/Clients/CSharp/AmbrosiaCS/AmbrosiaCS.csproj
+++ b/Clients/CSharp/AmbrosiaCS/AmbrosiaCS.csproj
@@ -17,19 +17,28 @@
NETCORE
-
+
+
+
+
+
+
4.3.0
+
4.5.0
+
+ 4.5.0
+
diff --git a/Clients/CSharp/AmbrosiaLibCS/AmbrosiaLibCS.csproj b/Clients/CSharp/AmbrosiaLibCS/AmbrosiaLibCS.csproj
index 083127f..7cd96f4 100644
--- a/Clients/CSharp/AmbrosiaLibCS/AmbrosiaLibCS.csproj
+++ b/Clients/CSharp/AmbrosiaLibCS/AmbrosiaLibCS.csproj
@@ -17,17 +17,26 @@
NETCORE
+
+
+
+
+
4.3.0
+
4.5.0
+
+ 4.5.0
+
diff --git a/DevTools/UnsafeDeregisterInstance/UnsafeDeregisterInstance.csproj b/DevTools/UnsafeDeregisterInstance/UnsafeDeregisterInstance.csproj
index 7f77f3a..e35f7ce 100644
--- a/DevTools/UnsafeDeregisterInstance/UnsafeDeregisterInstance.csproj
+++ b/DevTools/UnsafeDeregisterInstance/UnsafeDeregisterInstance.csproj
@@ -18,10 +18,25 @@
NETCORE
+
+
+
+
+
+
+
- 9.3.2
+ 9.3.3
+
+
+ 4.5.0
+
+
+ 4.5.0
+
+
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
index a710546..c8d7743 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -54,6 +54,9 @@ RUN cd Clients/C && make debug # publish
# -----------------------------------------------------------
ADD ./Scripts/runAmbrosiaService.sh bin/
+# We currently use this as a baseline source of dependencies for generated code:
+ADD ./Clients/CSharp/AmbrosiaCS/AmbrosiaCS.csproj bin/AmbrosiaCS.csproj
+
# Remove unnecessary execute permissions:
# RUN cd bin && (chmod -x *.dll *.so *.dylib *.a 2>/dev/null || echo ok)
diff --git a/ImmortalCoordinator/ImmortalCoordinator.csproj b/ImmortalCoordinator/ImmortalCoordinator.csproj
index 0937242..03e53b6 100644
--- a/ImmortalCoordinator/ImmortalCoordinator.csproj
+++ b/ImmortalCoordinator/ImmortalCoordinator.csproj
@@ -23,14 +23,22 @@
+
+
-
+
+
+
+
+
+ 4.5.0
+
4.5.0
diff --git a/InternalImmortals/PerformanceTestInterruptible/API/ServerAPI.csproj b/InternalImmortals/PerformanceTestInterruptible/API/ServerAPI.csproj
index 42a7746..12bcda0 100644
--- a/InternalImmortals/PerformanceTestInterruptible/API/ServerAPI.csproj
+++ b/InternalImmortals/PerformanceTestInterruptible/API/ServerAPI.csproj
@@ -16,7 +16,27 @@
NETCORE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 4.5.0
+
+
+ 4.5.0
+
+
\ No newline at end of file
diff --git a/InternalImmortals/PerformanceTestInterruptible/Client/Job.csproj b/InternalImmortals/PerformanceTestInterruptible/Client/Job.csproj
index f6146d7..2fd3e47 100644
--- a/InternalImmortals/PerformanceTestInterruptible/Client/Job.csproj
+++ b/InternalImmortals/PerformanceTestInterruptible/Client/Job.csproj
@@ -18,12 +18,27 @@
NETCORE
+
+
+
+
+
+
+
+
+
+
+ 4.5.0
+
+
+ 4.5.0
+
diff --git a/InternalImmortals/PerformanceTestInterruptible/IJob/IJob.csproj b/InternalImmortals/PerformanceTestInterruptible/IJob/IJob.csproj
index ae8fee8..6dc99d8 100644
--- a/InternalImmortals/PerformanceTestInterruptible/IJob/IJob.csproj
+++ b/InternalImmortals/PerformanceTestInterruptible/IJob/IJob.csproj
@@ -16,7 +16,27 @@
NETCORE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 4.5.0
+
+
+ 4.5.0
+
+
\ No newline at end of file
diff --git a/InternalImmortals/PerformanceTestInterruptible/PerformanceTest.sln b/InternalImmortals/PerformanceTestInterruptible/PerformanceTest.sln
index 16b1de8..33544c9 100644
--- a/InternalImmortals/PerformanceTestInterruptible/PerformanceTest.sln
+++ b/InternalImmortals/PerformanceTestInterruptible/PerformanceTest.sln
@@ -59,6 +59,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PTIAmbrosiaGeneratedAPINet4
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PTIAmbrosiaGeneratedAPINetCore", "GeneratedSourceFiles\PTIAmbrosiaGeneratedAPINetCore\latest\PTIAmbrosiaGeneratedAPINetCore.csproj", "{029135E9-7945-4C57-8535-FF17FABB8A7E}"
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnsafeDeregisterInstance", "..\..\DevTools\UnsafeDeregisterInstance\UnsafeDeregisterInstance.csproj", "{ECCAFBF6-2521-49AE-9ECC-5BDD6B8A567B}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -137,6 +139,12 @@ Global
{029135E9-7945-4C57-8535-FF17FABB8A7E}.Release|Any CPU.Build.0 = Release|Any CPU
{029135E9-7945-4C57-8535-FF17FABB8A7E}.Release|x64.ActiveCfg = Release|Any CPU
{029135E9-7945-4C57-8535-FF17FABB8A7E}.Release|x64.Build.0 = Release|Any CPU
+ {ECCAFBF6-2521-49AE-9ECC-5BDD6B8A567B}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {ECCAFBF6-2521-49AE-9ECC-5BDD6B8A567B}.Debug|x64.ActiveCfg = Debug|x64
+ {ECCAFBF6-2521-49AE-9ECC-5BDD6B8A567B}.Debug|x64.Build.0 = Debug|x64
+ {ECCAFBF6-2521-49AE-9ECC-5BDD6B8A567B}.Release|Any CPU.ActiveCfg = Release|x64
+ {ECCAFBF6-2521-49AE-9ECC-5BDD6B8A567B}.Release|x64.ActiveCfg = Release|x64
+ {ECCAFBF6-2521-49AE-9ECC-5BDD6B8A567B}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/InternalImmortals/PerformanceTestInterruptible/Server/Server.csproj b/InternalImmortals/PerformanceTestInterruptible/Server/Server.csproj
index 1efc5da..7508a81 100644
--- a/InternalImmortals/PerformanceTestInterruptible/Server/Server.csproj
+++ b/InternalImmortals/PerformanceTestInterruptible/Server/Server.csproj
@@ -18,12 +18,27 @@
NETCORE
+
+
+
+
+
+
+
+
+
+
+ 4.5.0
+
+
+ 4.5.0
+
diff --git a/Samples/HelloWorld/Dockerfile b/Samples/HelloWorld/Dockerfile
new file mode 100644
index 0000000..0d84b7a
--- /dev/null
+++ b/Samples/HelloWorld/Dockerfile
@@ -0,0 +1,16 @@
+
+# ------------------------------
+# OPTION (1)
+# FROM ambrosia
+# FROM microsoft/dotnet:2.0-sdk
+# COPY --from=ambrosia /ambrosia/bin /ambrosia/bin
+# ENV PATH="$PATH:/ambrosia/bin"
+# ------------------------------
+
+# OPTION (2)
+FROM ambrosia-dev
+# ------------------------------
+
+ADD . /src
+WORKDIR /src
+# RUN ./build_dotnetcore.sh
diff --git a/Samples/HelloWorld/build_dotnetcore.sh b/Samples/HelloWorld/build_dotnetcore.sh
index f246a08..5409f0d 100755
--- a/Samples/HelloWorld/build_dotnetcore.sh
+++ b/Samples/HelloWorld/build_dotnetcore.sh
@@ -9,9 +9,20 @@ DEST=CodeGenDependencies/$FMWK
rm -rf $DEST
mkdir -p $DEST
-# Extra codegen dependence, put its code generator's own .csproj file in the resulting deps dir:
-# TODO/FIXME: this should be replaced by a template which is modified by the user:
-cp -f "../../Clients/CSharp/AmbrosiaCS/AmbrosiaCS.csproj" $DEST/
+if ! which AmbrosiaCS 2>/dev/null; then
+ echo "ERROR: AmbrosiaCS not on PATH"
+ exit 1
+fi
+RSRC=$(dirname `which AmbrosiaCS`)
+if ! [ -d "$RSRC" ]; then
+ echo "Error: directory does not exist: $RSRC"
+ echo "Expected to find resource/ directory which is part of the AMBROSIA binary distribution."
+ exit 1
+fi
+
+# Baseline CodeGen dependencies:
+cp -f "$RSRC/AmbrosiaCS.csproj" $DEST/AmbrosiaCS.csproj
+ # ^ TODO/FIXME the name should change from AmbrosiaCS.csproj
echo
echo "(STEP 1) Build enough so that we have compiled versions of our RPC interfaces"
diff --git a/Scripts/run_linux_ci.sh b/Scripts/run_linux_ci.sh
index 8dc5b30..8e414bc 100755
--- a/Scripts/run_linux_ci.sh
+++ b/Scripts/run_linux_ci.sh
@@ -77,17 +77,17 @@ case $mode in
# ----------------------------------------
check_az_storage_and_bail
-
- # Test Application: PTI
- # ----------------------------------------
- cd "$AMBROSIA_ROOT"/InternalImmortals/PerformanceTestInterruptible
- ./run_small_PTI_and_shutdown.sh $INSTPREF
# Test Application: Native client hello
# ----------------------------------------
cd "$AMBROSIA_ROOT"/Clients/C
./run_hello_world.sh || echo "Allowed failure for now."
+ # Test Application: PTI (last because it's slow)
+ # ----------------------------------------------
+ cd "$AMBROSIA_ROOT"/InternalImmortals/PerformanceTestInterruptible
+ ./run_small_PTI_and_shutdown.sh $INSTPREF
+
;;
*)
diff --git a/build_dotnetcore_bindist.sh b/build_dotnetcore_bindist.sh
index 6b4cfeb..2420f51 100755
--- a/build_dotnetcore_bindist.sh
+++ b/build_dotnetcore_bindist.sh
@@ -97,9 +97,11 @@ popd
set +x
echo
-echo "Copying deployment script."
+echo "Copying deployment script and other included resources."
cp -a Scripts/runAmbrosiaService.sh bin/
# (cd bin; ln -s Ambrosia ambrosia || echo ok)
+# We currently use this as a baseline source of dependencies for generated code:
+cp -a Clients/CSharp/AmbrosiaCS/AmbrosiaCS.csproj bin/AmbrosiaCS.csproj
echo
echo "Building Native-code client library"
@@ -107,7 +109,8 @@ echo "----------------------------------------"
if [ "$UNAME" == Linux ]; then
pushd Clients/C
make publish || \
- echo "WARNING: Successfully built a dotnet core distribution, but without the native code wrapper library."
+ echo "WARNING: Non-fatal error." && \
+ echo "Successfully built a dotnet core distribution, but the native code wrapper failed to build."
popd
elif [ "$UNAME" == Darwin ]; then
echo "WARNING: not building native client for Mac OS."