diff --git a/BuildAndTest.cmd b/BuildAndTest.cmd
index 1a296f00d..84d21bb46 100644
--- a/BuildAndTest.cmd
+++ b/BuildAndTest.cmd
@@ -37,7 +37,7 @@ echo public const string Version = AssemblyVersion + Prerelease;
echo } >> %VERSION_CONSTANTS%
echo } >> %VERSION_CONSTANTS%
-::Restore packages
+:: Restore packages
echo Restoring packages...
dotnet restore %~dp0src\BinSkim.sln /p:Configuration=%Configuration% --configfile "%NuGetConfigFile%" --packages "%NuGetPackageDir%
@@ -45,40 +45,27 @@ dotnet restore %~dp0src\BinSkim.sln /p:Configuration=%Configuration% --configfil
echo Building solution...
dotnet build --no-restore /verbosity:minimal %~dp0src\BinSkim.sln /p:Configuration=%Configuration% /filelogger /fileloggerparameters:Verbosity=detailed || goto :ExitFailed
-::Run unit tests
-echo Run all multitargeting xunit tests
-call :RunTestProject BinaryParsers Unit || goto :ExitFailed
-call :RunTestProject BinSkim.Rules Unit || goto :ExitFailed
-call :RunTestProject BinSkim.Driver Functional || goto :ExitFailed
-call :RunTestProject BinSkim.Rules Functional || goto :ExitFailed
+:: Run unit tests
+echo Running tests...
+dotnet test %~dp0src\BinSkim.sln /p:Configuration=%Configuration% --no-build
-::Create the BinSkim platform specific publish packages
-echo Creating Platform Specific BinSkim 'Publish' Packages
-call :CreatePublishPackage netcoreapp3.1 win-x86 || goto :ExitFailed
-call :CreatePublishPackage netcoreapp3.1 win-x64 || goto :ExitFailed
-call :CreatePublishPackage netcoreapp3.1 linux-x64 || goto :ExitFailed
+:: Create the BinSkim publish packages
+echo Creating Platform 'Publish' Packages...
+call :CreatePublishPackage netcoreapp3.1 || goto :ExitFailed
-::Build NuGet package
+:: Build NuGet package
echo BuildPackages.cmd
call BuildPackages.cmd || goto :ExitFailed
-::Create layout directory of assemblies that need to be signed
+:: Create layout directory of assemblies that need to be signed
echo CreateLayoutDirectory.cmd %~dp0bld\bin %Configuration% %Platform%
call CreateLayoutDirectory.cmd %~dp0bld\bin %Configuration% %Platform%
goto :Exit
-:RunTestProject
-set TestProject=%1
-set TestType=%2
-pushd %~dp0src\Test.%TestType%Tests.%TestProject% && dotnet test --no-build -c %Configuration% && popd
-if "%ERRORLEVEL%" NEQ "0" (echo %TestProject% %TestType% tests execution FAILED.)
-Exit /B %ERRORLEVEL%
-
:CreatePublishPackage
set Framework=%~1
-set RuntimeArg=%~2
-dotnet publish %~dp0src\BinSkim.Driver\BinSkim.Driver.csproj --no-restore -c %Configuration% -f %Framework% --runtime %RuntimeArg%
+dotnet publish %~dp0src\BinSkim.Driver\BinSkim.Driver.csproj --no-restore -c %Configuration% -f %Framework%
Exit /B %ERRORLEVEL%
:ExitFailed
diff --git a/BuildPackages.cmd b/BuildPackages.cmd
index 9be4f9b21..c1da343fb 100644
--- a/BuildPackages.cmd
+++ b/BuildPackages.cmd
@@ -4,7 +4,7 @@ SETLOCAL
call SetCurrentVersion.cmd
-%~dp0.nuget\NuGet.exe pack %~dp0src\Nuget\BinSkim.nuspec -Symbols -Properties configuration=%Configuration%;version=%MAJOR%.%MINOR%.%PATCH%%PRERELEASE% -Verbosity Quiet -BasePath %~dp0 -OutputDirectory %~dp0bld\bin\Nuget || goto :ExitFailed
+%~dp0.nuget\NuGet.exe pack %~dp0src\Nuget\BinSkim.nuspec -Properties configuration=%Configuration%;version=%MAJOR%.%MINOR%.%PATCH%%PRERELEASE% -Verbosity Quiet -BasePath %~dp0 -OutputDirectory %~dp0bld\bin\Nuget || goto :ExitFailed
goto Exit
diff --git a/CreateLayoutDirectory.cmd b/CreateLayoutDirectory.cmd
index 90354fd11..a219e2830 100644
--- a/CreateLayoutDirectory.cmd
+++ b/CreateLayoutDirectory.cmd
@@ -23,9 +23,6 @@ set LayoutForSigningDirectory=%BinaryOutputDirectory%\..\LayoutForSigning
call :CreateDirIfNotExist %LayoutForSigningDirectory%
call :CreateDirIfNotExist %LayoutForSigningDirectory%\netcoreapp3.1
-call :CreateDirIfNotExist %LayoutForSigningDirectory%\netcoreapp3.1\win-x86\
-call :CreateDirIfNotExist %LayoutForSigningDirectory%\netcoreapp3.1\win-x64\
-call :CreateDirIfNotExist %LayoutForSigningDirectory%\netcoreapp3.1\linux-x64\
call :CopyExeForSigning BinSkim.exe || goto :ExitFailed
call :CopyFilesForMultitargeting BinSkim.dll || goto :ExitFailed
@@ -36,19 +33,13 @@ call :CopyFilesForMultitargeting BinSkim.Sdk.dll || goto :ExitFailed
goto :Exit
:CopyExeForSigning
-xcopy /Y %BinaryOutputDirectory%\netcoreapp3.1\win-x86\%~n1.exe %LayoutForSigningDirectory%\netcoreapp3.1\win-x86\
-if "%ERRORLEVEL%" NEQ "0" (echo %1 assembly copy failed. && goto :ExeFilesExit)
-xcopy /Y %BinaryOutputDirectory%\netcoreapp3.1\win-x64\%~n1.exe %LayoutForSigningDirectory%\netcoreapp3.1\win-x64\
+xcopy /Y %BinaryOutputDirectory%\netcoreapp3.1\%~n1.exe %LayoutForSigningDirectory%\netcoreapp3.1\
if "%ERRORLEVEL%" NEQ "0" (echo %1 assembly copy failed. && goto :ExeFilesExit)
:ExeFilesExit
Exit /B %ERRORLEVEL%
:CopyFilesForMultitargeting
-xcopy /Y %BinaryOutputDirectory%\netcoreapp3.1\win-x86\%~n1.dll %LayoutForSigningDirectory%\netcoreapp3.1\win-x86\
-if "%ERRORLEVEL%" NEQ "0" (echo %1 assembly copy failed. && goto :CopyFilesExit)
-xcopy /Y %BinaryOutputDirectory%\netcoreapp3.1\win-x64\%~n1.dll %LayoutForSigningDirectory%\netcoreapp3.1\win-x64\
-if "%ERRORLEVEL%" NEQ "0" (echo %1 assembly copy failed. && goto :CopyFilesExit)
-xcopy /Y %BinaryOutputDirectory%\netcoreapp3.1\linux-x64\%~n1.dll %LayoutForSigningDirectory%\netcoreapp3.1\linux-x64\
+xcopy /Y %BinaryOutputDirectory%\netcoreapp3.1\%~n1.dll %LayoutForSigningDirectory%\netcoreapp3.1\
if "%ERRORLEVEL%" NEQ "0" (echo %1 assembly copy failed. && goto :CopyFilesExit)
:CopyFilesExit
Exit /B %ERRORLEVEL%
diff --git a/CreatePackagesFromLayoutDirectory.cmd b/CreatePackagesFromLayoutDirectory.cmd
index 2135281f9..0106f8d6b 100644
--- a/CreatePackagesFromLayoutDirectory.cmd
+++ b/CreatePackagesFromLayoutDirectory.cmd
@@ -36,19 +36,13 @@ call BuildPackages.cmd %Configuration% %Platform% %NuGetOutputDirectory% %Versio
goto :Exit
:CopyExeForSigning
-xcopy /Y %LayoutForSigningDirectory%\netcoreapp3.1\win-x86\%~n1.exe %BinaryOutputDirectory%\netcoreapp3.1\win-x86\
-if "%ERRORLEVEL%" NEQ "0" (echo %1 assembly copy failed. && goto :ExeFilesExit)
-xcopy /Y %LayoutForSigningDirectory%\netcoreapp3.1\win-x64\%~n1.exe %BinaryOutputDirectory%\netcoreapp3.1\win-x64\
+xcopy /Y %LayoutForSigningDirectory%\netcoreapp3.1\%~n1.exe %BinaryOutputDirectory%\netcoreapp3.1\
if "%ERRORLEVEL%" NEQ "0" (echo %1 assembly copy failed. && goto :ExeFilesExit)
:ExeFilesExit
Exit /B %ERRORLEVEL%
:CopyFilesForMultitargeting
-xcopy /Y %BinaryOutputDirectory%\netcoreapp3.1\win-x86\%~n1.dll %LayoutForSigningDirectory%\netcoreapp3.1\win-x86\
-if "%ERRORLEVEL%" NEQ "0" (echo %1 assembly copy failed. && goto :CopyFilesExit)
-xcopy /Y %BinaryOutputDirectory%\netcoreapp3.1\win-x64\%~n1.dll %LayoutForSigningDirectory%\netcoreapp3.1\win-x64\
-if "%ERRORLEVEL%" NEQ "0" (echo %1 assembly copy failed. && goto :CopyFilesExit)
-xcopy /Y %BinaryOutputDirectory%\netcoreapp3.1\linux-x64\%~n1.dll %LayoutForSigningDirectory%\netcoreapp3.1\linux-x64\
+xcopy /Y %LayoutForSigningDirectory%\netcoreapp3.1\%~n1.dll %BinaryOutputDirectory%\netcoreapp3.1\
if "%ERRORLEVEL%" NEQ "0" (echo %1 assembly copy failed. && goto :CopyFilesExit)
:CopyFilesExit
Exit /B %ERRORLEVEL%
diff --git a/src/BinSkim.Driver/BinSkim.Driver.csproj b/src/BinSkim.Driver/BinSkim.Driver.csproj
index e5fa14673..f6949e406 100644
--- a/src/BinSkim.Driver/BinSkim.Driver.csproj
+++ b/src/BinSkim.Driver/BinSkim.Driver.csproj
@@ -9,19 +9,23 @@
True
Exe
-
+
app.manifest
true
Microsoft.CodeAnalysis.IL
+ MIT
+ git
+ https://github.com/Microsoft/binskim
-
+
PreserveNewest
+
-
+
@@ -31,20 +35,20 @@
-
+
..\..\refs\dia2lib.dll
False
-
+
-
+
True
@@ -52,7 +56,7 @@
DriverResources.resx
-
+
ResXFileCodeGenerator
diff --git a/src/BinSkim.Driver/DotnetToolSettings.xml b/src/BinSkim.Driver/DotnetToolSettings.xml
new file mode 100644
index 000000000..8e60d66a3
--- /dev/null
+++ b/src/BinSkim.Driver/DotnetToolSettings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/src/Nuget/BinSkim.nuspec b/src/Nuget/BinSkim.nuspec
index 7c9d88a4b..997c70fd5 100644
--- a/src/Nuget/BinSkim.nuspec
+++ b/src/Nuget/BinSkim.nuspec
@@ -15,9 +15,12 @@
https://github.com/microsoft/binskim
binary analysis binskim binscope security portable executable linkable format sdl devops devsecops
https://go.microsoft.com/fwlink/?linkid=2008940
+
+
+
-
+
diff --git a/src/ReleaseHistory.md b/src/ReleaseHistory.md
index f3a003410..58521d6b8 100644
--- a/src/ReleaseHistory.md
+++ b/src/ReleaseHistory.md
@@ -1,9 +1,13 @@
# BinSkim Release History
+## **Unreleased**
+
+* **BREAKING** Change from self-contained to dotnettool. [#306](https://github.com/microsoft/binskim/pull/306)
+
## **v1.7.0** [NuGet Package](https://www.nuget.org/packages/Microsoft.CodeAnalysis.BinSkim/1.7.0)
* **AUTOMATION BREAKING**: Update to .NET Core 3.1. Changes tool paths in NuGet package.
* **FEATURE**: Add `--trace` argument to enable specialized trace of execution behavior, such as `PdbLoad`.
-* Update SARIF version to 2.2.3
+* **FEATURE**: Update SARIF version to 2.3.8
* **BREAKING** Default output is sarif v2
## **v1.6.1** [NuGet Package](https://www.nuget.org/packages/Microsoft.CodeAnalysis.BinSkim/1.6.1)