diff --git a/build.cmd b/build.cmd
index 17cd00c39da..a017f925e8f 100644
--- a/build.cmd
+++ b/build.cmd
@@ -525,8 +525,8 @@ if '%BUILD_NET40%' == '1' (
call src\update.cmd %BUILD_CONFIG% -ngen
)
-@echo set NUNITPATH=packages\NUnit.ConsoleRunner.3.5.0\tools\
-set NUNITPATH=packages\NUnit.ConsoleRunner.3.5.0\tools\
+@echo set NUNITPATH=packages\NUnit.Console.3.0.0\tools\
+set NUNITPATH=packages\NUnit.Console.3.0.0\tools\
if not exist %NUNITPATH% echo Error: Could not find %NUNITPATH% && goto :failure
@echo xcopy "%NUNITPATH%*.*" "%~dp0tests\fsharpqa\testenv\bin\nunit\*.*" /S /Q /Y
@@ -596,7 +596,7 @@ setlocal enableDelayedExpansion
set NUNITPATH=%~dp0tests\fsharpqa\testenv\bin\nunit\
-set NUNIT3_CONSOLE=%~dp0packages\NUnit.ConsoleRunner.3.5.0\tools\nunit3-console.exe
+set NUNIT3_CONSOLE=%~dp0packages\NUnit.Console.3.0.0\tools\nunit3-console.exe
set link_exe=%~dp0packages\VisualCppTools.14.0.24519-Pre\lib\native\bin\link.exe
if not exist "%link_exe%" (
echo Error: failed to find '%link_exe%' use nuget to restore the VisualCppTools package
diff --git a/packages.config b/packages.config
index dd84372923b..6e0a76090e8 100644
--- a/packages.config
+++ b/packages.config
@@ -21,7 +21,7 @@
-
+
diff --git a/src/utils/filename.fs b/src/utils/filename.fs
index ad494a0fd75..e80a4564998 100644
--- a/src/utils/filename.fs
+++ b/src/utils/filename.fs
@@ -29,16 +29,18 @@ let checkPathForIllegalChars (path:string) =
// Case sensitive (original behaviour preserved).
let checkSuffix (x:string) (y:string) = x.EndsWith(y,System.StringComparison.Ordinal)
-let hasExtension (s:string) =
- checkPathForIllegalChars s
+let hasExtensionWithValidate (validate:bool) (s:string) =
+ if validate then (checkPathForIllegalChars s) |> ignore
let sLen = s.Length
(sLen >= 1 && s.[sLen - 1] = '.' && s <> ".." && s <> ".")
|| Path.HasExtension(s)
+let hasExtension (s:string) = hasExtensionWithValidate true s
+
let chopExtension (s:string) =
checkPathForIllegalChars s
if s = "." then "" else // for OCaml compatibility
- if not (hasExtension s) then
+ if not (hasExtensionWithValidate false s) then
raise (System.ArgumentException("chopExtension")) // message has to be precisely this, for OCaml compatibility, and no argument name can be set
Path.Combine (Path.GetDirectoryName s,Path.GetFileNameWithoutExtension(s))