diff --git a/builds/msvc/.gitignore b/builds/.gitignore
similarity index 89%
rename from builds/msvc/.gitignore
rename to builds/.gitignore
index 79234a2a..878f1a3a 100644
--- a/builds/msvc/.gitignore
+++ b/builds/.gitignore
@@ -4,3 +4,4 @@
*.vcxproj.user
*.aps
*.log
+!build
\ No newline at end of file
diff --git a/builds/msvc/build/buildall.bat b/builds/msvc/build/buildall.bat
new file mode 100644
index 00000000..d6b0d5f2
--- /dev/null
+++ b/builds/msvc/build/buildall.bat
@@ -0,0 +1,10 @@
+@ECHO OFF
+
+CALL buildbase.bat ..\vs2013\libsodium.sln 12
+ECHO.
+CALL buildbase.bat ..\vs2012\libsodium.sln 11
+ECHO.
+CALL buildbase.bat ..\vs2010\libsodium.sln 10
+ECHO.
+
+PAUSE
\ No newline at end of file
diff --git a/builds/msvc/build/buildbase.bat b/builds/msvc/build/buildbase.bat
new file mode 100644
index 00000000..6563ccbd
--- /dev/null
+++ b/builds/msvc/build/buildbase.bat
@@ -0,0 +1,65 @@
+@ECHO OFF
+REM Usage: [buildbase.bat ..\vs2013\libzmq.sln 12]
+
+SET solution=%1
+SET version=%2
+
+SET log=build_%version%.log
+
+REM This breaks if visual studio is not installed or is installed to a non-default location.
+SET environment="C:\Program Files (x86)\Microsoft Visual Studio %version%.0\VC\vcvarsall.bat"
+
+ECHO Building: %solution%
+
+CALL %environment% x86 > nul
+ECHO Platform=x86
+
+ECHO Configuration=DynDebug
+msbuild /m /v:n /p:Configuration=DynDebug /p:Platform=Win32 %solution% > %log%
+IF errorlevel 1 GOTO error
+ECHO Configuration=DynRelease
+msbuild /m /v:n /p:Configuration=DynRelease /p:Platform=Win32 %solution% >> %log%
+IF errorlevel 1 GOTO error
+ECHO Configuration=LtcgDebug
+msbuild /m /v:n /p:Configuration=LtcgDebug /p:Platform=Win32 %solution% >> %log%
+IF errorlevel 1 GOTO error
+ECHO Configuration=LtcgRelease
+msbuild /m /v:n /p:Configuration=LtcgRelease /p:Platform=Win32 %solution% >> %log%
+IF errorlevel 1 GOTO error
+ECHO Configuration=StaticDebug
+msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=Win32 %solution% >> %log%
+IF errorlevel 1 GOTO error
+ECHO Configuration=StaticRelease
+msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=Win32 %solution% >> %log%
+IF errorlevel 1 GOTO error
+
+CALL %environment% x86_amd64 > nul
+ECHO Platform=x64
+
+ECHO Configuration=DynDebug
+msbuild /m /v:n /p:Configuration=DynDebug /p:Platform=x64 %solution% > %log%
+IF errorlevel 1 GOTO error
+ECHO Configuration=DynRelease
+msbuild /m /v:n /p:Configuration=DynRelease /p:Platform=x64 %solution% >> %log%
+IF errorlevel 1 GOTO error
+ECHO Configuration=LtcgDebug
+msbuild /m /v:n /p:Configuration=LtcgDebug /p:Platform=x64 %solution% >> %log%
+IF errorlevel 1 GOTO error
+ECHO Configuration=LtcgRelease
+msbuild /m /v:n /p:Configuration=LtcgRelease /p:Platform=x64 %solution% >> %log%
+IF errorlevel 1 GOTO error
+ECHO Configuration=StaticDebug
+msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=x64 %solution% >> %log%
+IF errorlevel 1 GOTO error
+ECHO Configuration=StaticRelease
+msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=x64 %solution% >> %log%
+IF errorlevel 1 GOTO error
+
+ECHO Complete: %solution%
+GOTO end
+
+:error
+ECHO *** ERROR, build terminated, see: %log%
+
+:end
+
diff --git a/builds/msvc/properties/Debug.props b/builds/msvc/properties/Debug.props
index 20c00343..56880de2 100644
--- a/builds/msvc/properties/Debug.props
+++ b/builds/msvc/properties/Debug.props
@@ -7,7 +7,7 @@
<_PropertySheetDisplayName>Debug Settings
- debug
+ Debug
diff --git a/builds/msvc/properties/Messages.props b/builds/msvc/properties/Messages.props
index ff503c32..06a1ab09 100644
--- a/builds/msvc/properties/Messages.props
+++ b/builds/msvc/properties/Messages.props
@@ -9,7 +9,6 @@
-
diff --git a/builds/msvc/properties/Output.props b/builds/msvc/properties/Output.props
index 74f73a83..492876cf 100644
--- a/builds/msvc/properties/Output.props
+++ b/builds/msvc/properties/Output.props
@@ -3,11 +3,12 @@
<_PropertySheetDisplayName>Output Settings
+
$(ProjectDir)..\..\
$(ProjectDir)..\..\..\..\
- $(ProjectDir)..\..\..\..\..\
- $(RepoRoot)bin\$(Processor)\$(DebugOrRelease)\$(PlatformToolset)\$(DefaultLinkage)\
- $(RepoRoot)obj\$(TargetName)\$(Processor)\$(DebugOrRelease)\$(PlatformToolset)\$(DefaultLinkage)\
+ $(ProjectDir)..\..\..\..\..\
+ $(ProjectDir)..\..\..\..\bin\$(PlatformName)\$(DebugOrRelease)\$(PlatformToolset)\$(DefaultLinkage)\
+ $(ProjectDir)..\..\..\..\obj\$(TargetName)\$(PlatformName)\$(DebugOrRelease)\$(PlatformToolset)\$(DefaultLinkage)\
$(OutDir)
$(TargetName)
$(TargetDir)$(TargetName)$(TargetExt)
diff --git a/builds/msvc/properties/Release.props b/builds/msvc/properties/Release.props
index 748f614a..1c5415bc 100644
--- a/builds/msvc/properties/Release.props
+++ b/builds/msvc/properties/Release.props
@@ -7,7 +7,7 @@
<_PropertySheetDisplayName>Release Settings
- release
+ Release
false
diff --git a/builds/msvc/properties/x64.props b/builds/msvc/properties/x64.props
index 90e30340..0831f69b 100644
--- a/builds/msvc/properties/x64.props
+++ b/builds/msvc/properties/x64.props
@@ -3,7 +3,6 @@
<_PropertySheetDisplayName>x64 Settings
- x64
diff --git a/builds/msvc/properties/x86.props b/builds/msvc/properties/x86.props
index 9bd8be59..f7b1df62 100644
--- a/builds/msvc/properties/x86.props
+++ b/builds/msvc/properties/x86.props
@@ -3,7 +3,6 @@
<_PropertySheetDisplayName>x86 Settings
- x86
diff --git a/builds/msvc/vs2010/libsodium.import.props b/builds/msvc/vs2010/libsodium.import.props
index 550d43ec..f101769a 100644
--- a/builds/msvc/vs2010/libsodium.import.props
+++ b/builds/msvc/vs2010/libsodium.import.props
@@ -15,32 +15,38 @@
- $(SourceRoot)libsodium\src\libsodium\include;$(SourceRoot)libsodium\src\libsodium\include\sodium\;%(AdditionalIncludeDirectories)
+ $(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include;$(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include\sodium\;%(AdditionalIncludeDirectories)
SODIUM_STATIC;%(PreprocessorDefinitions)
- advapi32.lib;crypt32.lib;%(AdditionalDependencies)
- $(SourceRoot)libsodium\bin\$(Processor)\$(DebugOrRelease)\$(PlatformToolset)\$(Linkage-libsodium)\libsodium.lib;%(AdditionalDependencies)
+ advapi32.lib;crypt32.lib;libsodium.lib;%(AdditionalDependencies)
+ $(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories)
+ $(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories)
-
-
+
-
-
+
+
\ No newline at end of file
diff --git a/builds/msvc/vs2012/libsodium.import.props b/builds/msvc/vs2012/libsodium.import.props
index 550d43ec..f101769a 100644
--- a/builds/msvc/vs2012/libsodium.import.props
+++ b/builds/msvc/vs2012/libsodium.import.props
@@ -15,32 +15,38 @@
- $(SourceRoot)libsodium\src\libsodium\include;$(SourceRoot)libsodium\src\libsodium\include\sodium\;%(AdditionalIncludeDirectories)
+ $(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include;$(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include\sodium\;%(AdditionalIncludeDirectories)
SODIUM_STATIC;%(PreprocessorDefinitions)
- advapi32.lib;crypt32.lib;%(AdditionalDependencies)
- $(SourceRoot)libsodium\bin\$(Processor)\$(DebugOrRelease)\$(PlatformToolset)\$(Linkage-libsodium)\libsodium.lib;%(AdditionalDependencies)
+ advapi32.lib;crypt32.lib;libsodium.lib;%(AdditionalDependencies)
+ $(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories)
+ $(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories)
-
-
+
-
-
+
+
\ No newline at end of file
diff --git a/builds/msvc/vs2013/libsodium.import.props b/builds/msvc/vs2013/libsodium.import.props
index 550d43ec..f101769a 100644
--- a/builds/msvc/vs2013/libsodium.import.props
+++ b/builds/msvc/vs2013/libsodium.import.props
@@ -15,32 +15,38 @@
- $(SourceRoot)libsodium\src\libsodium\include;$(SourceRoot)libsodium\src\libsodium\include\sodium\;%(AdditionalIncludeDirectories)
+ $(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include;$(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include\sodium\;%(AdditionalIncludeDirectories)
SODIUM_STATIC;%(PreprocessorDefinitions)
- advapi32.lib;crypt32.lib;%(AdditionalDependencies)
- $(SourceRoot)libsodium\bin\$(Processor)\$(DebugOrRelease)\$(PlatformToolset)\$(Linkage-libsodium)\libsodium.lib;%(AdditionalDependencies)
+ advapi32.lib;crypt32.lib;libsodium.lib;%(AdditionalDependencies)
+ $(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories)
+ $(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories)
-
-
+
-
-
+
+
\ No newline at end of file
diff --git a/packaging/nuget/package.gsl b/packaging/nuget/package.gsl
index 0295d306..a040edfb 100644
--- a/packaging/nuget/package.gsl
+++ b/packaging/nuget/package.gsl
@@ -46,52 +46,52 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+