diff --git a/tests/RunTests.cmd b/tests/RunTests.cmd
index 986f0d9078..9ad2a86df0 100644
--- a/tests/RunTests.cmd
+++ b/tests/RunTests.cmd
@@ -93,13 +93,19 @@ set PATH=%FSCBINPATH%;%PATH%
REM == VS-installed paths to FSharp.Core.dll
set FSCOREDLLPATH=%X86_PROGRAMFILES%\Reference Assemblies\Microsoft\FSharp\.NETFramework\v4.0\4.3.1.0
set FSCOREDLL20PATH=%X86_PROGRAMFILES%\Reference Assemblies\Microsoft\FSharp\.NETFramework\v2.0\2.3.0.0
+set FSCOREDLLPORTABLEPATH=%X86_PROGRAMFILES%\Reference Assemblies\Microsoft\FSharp\.NETPortable\2.3.5.1
+set FSDATATPPATH=%X86_PROGRAMFILES%\Reference Assemblies\Microsoft\FSharp\.NETFramework\v4.0\4.3.0.0\Type Providers
REM == open source logic
if exist "%FSCBinPath%\FSharp.Core.dll" set FSCOREDLLPATH=%FSCBinPath%
if exist "%FSCBinPath%\..\..\net20\bin\FSharp.Core.dll" set FSCOREDLL20PATH=%FSCBinPath%\..\..\net20\bin
+if exist "%FSCBinPath%\..\..\portable47\bin\FSharp.Core.dll" set FSCOREDLLPORTABLEPATH=%FSCBinPath%\..\..\portable47\bin
+if exist "%FSCBinPath%\FSharp.Data.TypeProviders.dll" set FSDATATPPATH=%FSCBinPath%
set FSCOREDLLPATH=%FSCOREDLLPATH%\FSharp.Core.dll
set FSCOREDLL20PATH=%FSCOREDLL20PATH%\FSharp.Core.dll
+set FSCOREDLLPORTABLEPATH=%FSCOREDLLPORTABLEPATH%\FSharp.Core.dll
+set FSDATATPPATH=%FSDATATPPATH%\FSharp.Data.TypeProviders.dll
for /d %%i in (%WINDIR%\Microsoft.NET\Framework\v4.0.?????) do set CORDIR=%%i
set PATH=%PATH%;%CORDIR%
diff --git a/tests/config.bat b/tests/config.bat
index 55a3244531..538755746e 100644
--- a/tests/config.bat
+++ b/tests/config.bat
@@ -158,18 +158,8 @@ IF NOT DEFINED FSI SET FSI=%fsiroot%.
IF DEFINED FSCBinPath IF EXIST "%FSCBinPath%\fsc.exe" SET FSC=%FSCBinPath%\fsc.exe
IF DEFINED FSCBinPath IF EXIST "%FSCBinPath%\%fsiroot%.exe" SET FSI=%FSCBinPath%\%fsiroot%.exe
-REM == In Visual Studio deployments, FSharp.Core.dll is not sitting next to fsc.exe
-REM == In open source builds, it is.
-REM == Logic here should locate the right path in either case, for both .NET 4 and .NET 2 versions
-set FSCOREDLLPATH=
-set FSCOREDLL20PATH=
-call :GetFSCOREDLLPaths
-
-IF EXIST "%FSCBinPath%\FSharp.Core.dll" set FSCOREDLLPATH=%FSCBinPath%
-set FSCOREDLLPATH=%FSCOREDLLPATH%\FSharp.Core.dll
-
-set FSCOREDLL20PATH=%FSCOREDLL20PATH%\FSharp.Core.dll
-IF EXIST "%FSCBinPath%..\..\net20\bin\FSharp.Core.dll" set FSCOREDLL20PATH=%FSCBinPath%..\..\net20\bin\FSharp.Core.dll
+REM == Located F# library DLLs in either open or Visual Studio contexts
+call :GetFSLibPaths
REM == Set standard flags for invoking powershell scripts
IF NOT DEFINED PSH_FLAGS SET PSH_FLAGS=-nologo -noprofile -executionpolicy bypass
@@ -217,6 +207,8 @@ echo fsc_flags =%fsc_flags%
echo FSCBinPath =%FSCBinPath%
echo FSCOREDLL20PATH =%FSCOREDLL20PATH%
echo FSCOREDLLPATH =%FSCOREDLLPATH%
+echo FSCOREDLLPORTABLEPATH =%FSCOREDLLPATH%
+echo FSDATATPPATH =%FSDATATPPATH%
echo FSDIFF =%FSDIFF%
echo FSI =%FSI%
echo fsi_flags =%fsi_flags%
@@ -246,10 +238,9 @@ FOR /F "tokens=1-3*" %%a IN ('reg query "%REG_SOFTWARE%\Microsoft\FSharp\3.1\Run
goto :EOF
REM ===
-REM === Find path to FSharp.Core.dll (in Dev11, this is under Reference Assemblies\Microsoft\FSharp\3.0\Runtime\v4.0 and v2.0)
-REM === in Dev12, this is under Reference Assemblies\Microsoft\FSharp\{.NETFramework|.NETCore|.NETPortable}\...
+REM === Find paths to shipped F# libraries referenced by clients
REM ===
-:GetFSCOREDLLPaths
+:GetFSLibPaths
REM == Find out OS architecture, no matter what cmd prompt
SET OSARCH=%PROCESSOR_ARCHITECTURE%
@@ -262,6 +253,19 @@ IF /I "%OSARCH%"=="x86" set X86_PROGRAMFILES=%ProgramFiles%
IF /I "%OSARCH%"=="IA64" set X86_PROGRAMFILES=%ProgramFiles(x86)%
IF /I "%OSARCH%"=="AMD64" set X86_PROGRAMFILES=%ProgramFiles(x86)%
-REM == Set path to v2.0 and v4.0 FSharp.Core.dll (4.0 is the default)
+REM == Default VS install locations
set FSCOREDLLPATH=%X86_PROGRAMFILES%\Reference Assemblies\Microsoft\FSharp\.NETFramework\v4.0\4.3.1.0
-set FSCOREDLL20PATH=%X86_PROGRAMFILES%\Reference Assemblies\Microsoft\FSharp\.NETFramework\v2.0\2.3.0.0
\ No newline at end of file
+set FSCOREDLL20PATH=%X86_PROGRAMFILES%\Reference Assemblies\Microsoft\FSharp\.NETFramework\v2.0\2.3.0.0
+set FSCOREDLLPORTABLEPATH=%X86_PROGRAMFILES%\Reference Assemblies\Microsoft\FSharp\.NETPortable\2.3.5.1
+set FSDATATPPATH=%X86_PROGRAMFILES%\Reference Assemblies\Microsoft\FSharp\.NETFramework\v4.0\4.3.0.0\Type Providers
+
+REM == Check if using open build instead
+IF EXIST "%FSCBinPath%\FSharp.Core.dll" set FSCOREDLLPATH=%FSCBinPath%
+IF EXIST "%FSCBinPath%\..\..\net20\bin\FSharp.Core.dll" set FSCOREDLL20PATH=%FSCBinPath%\..\..\net20\bin
+IF EXIST "%FSCBinPath%\..\..\portable47\bin\FSharp.Core.dll" set FSCOREDLLPORTABLEPATH=%FSCBinPath%\..\..\portable47\bin
+IF EXIST "%FSCBinPath%\FSharp.Data.TypeProviders.dll" set FSDATATPPATH=%FSCBinPath%
+
+set FSCOREDLLPATH=%FSCOREDLLPATH%\FSharp.Core.dll
+set FSCOREDLL20PATH=%FSCOREDLL20PATH%\FSharp.Core.dll
+set FSCOREDLLPORTABLEPATH=%FSCOREDLLPORTABLEPATH%\FSharp.Core.dll
+set FSDATATPPATH=%FSDATATPPATH%\FSharp.Data.TypeProviders.dll
diff --git a/tests/fsharp/core/fsfromcs/CsClient.csproj b/tests/fsharp/core/fsfromcs/CsClient.csproj
index 69290f2278..295a5a12d5 100644
--- a/tests/fsharp/core/fsfromcs/CsClient.csproj
+++ b/tests/fsharp/core/fsfromcs/CsClient.csproj
@@ -30,7 +30,7 @@
4
-
+
False
diff --git a/tests/fsharp/core/portable/ConsoleApplication1/portabletestentry.csproj b/tests/fsharp/core/portable/ConsoleApplication1/portabletestentry.csproj
index 496e68ca45..bf1bb5f8d8 100644
--- a/tests/fsharp/core/portable/ConsoleApplication1/portabletestentry.csproj
+++ b/tests/fsharp/core/portable/ConsoleApplication1/portabletestentry.csproj
@@ -36,10 +36,7 @@
4
-
- False
- $(MSBuildProgramFiles32)\Reference Assemblies\Microsoft\FSharp\.NETPortable\2.3.5.1\FSharp.Core.dll
-
+
diff --git a/tests/fsharp/core/portable/portableautomationhelperlibrary/portableautomationhelperlibrary.fsproj b/tests/fsharp/core/portable/portableautomationhelperlibrary/portableautomationhelperlibrary.fsproj
index c10a2ec1ab..19f3379472 100644
--- a/tests/fsharp/core/portable/portableautomationhelperlibrary/portableautomationhelperlibrary.fsproj
+++ b/tests/fsharp/core/portable/portableautomationhelperlibrary/portableautomationhelperlibrary.fsproj
@@ -38,8 +38,9 @@
11
+ $(FSCBINPATH)
-
+
@@ -49,11 +50,7 @@
-
- FSharp.Core
- FSharp.Core.dll
- $(MSBuildExtensionsPath32)\..\Reference Assemblies\Microsoft\FSharp\.NETPortable\2.3.5.1\FSharp.Core.dll
-
+