diff --git a/Development/Scripts/Linux/CallBuildTool.sh b/Development/Scripts/Linux/CallBuildTool.sh
index 3052ee241..a246bb975 100755
--- a/Development/Scripts/Linux/CallBuildTool.sh
+++ b/Development/Scripts/Linux/CallBuildTool.sh
@@ -10,8 +10,8 @@ if [ $testfilesize -le 1000 ]; then
fi
# Compile the build tool.
-xbuild /nologo /verbosity:quiet "Source/Tools/Flax.Build/Flax.Build.csproj" /property:Configuration=Release /property:Platform=AnyCPU /target:Build
+msbuild /nologo /verbosity:quiet "Source/Tools/Flax.Build/Flax.Build.csproj" /property:Configuration=Release /property:Platform=AnyCPU /target:Build,Publish /p:PublishDir=./Binaries/Tools
# Run the build tool using the provided arguments.
#mono --debug --debugger-agent=transport=dt_socket,server=y,address=127.0.0.1:55555 Binaries/Tools/Flax.Build.exe "$@"
-mono Binaries/Tools/Flax.Build.exe "$@"
+dotnet Binaries/Tools/Flax.Build.exe "$@"
diff --git a/Development/Scripts/Windows/CallBuildTool.bat b/Development/Scripts/Windows/CallBuildTool.bat
index 396d59da4..9f913c7c0 100644
--- a/Development/Scripts/Windows/CallBuildTool.bat
+++ b/Development/Scripts/Windows/CallBuildTool.bat
@@ -28,9 +28,11 @@ fc /b Cache\Intermediate\Build\Flax.Build.Files.txt Cache\Intermediate\Build\Fla
if not errorlevel 1 goto SkipClean
copy /y Cache\Intermediate\Build\Flax.Build.Files.txt Cache\Intermediate\Build\Flax.Build.PrevFiles.txt >nul
+%MSBUILD_PATH% /nologo /verbosity:quiet Source\Tools\Flax.Build\Flax.Build.csproj /target:Restore /property:RestorePackagesConfig=True
%MSBUILD_PATH% /nologo /verbosity:quiet Source\Tools\Flax.Build\Flax.Build.csproj /property:Configuration=Release /property:Platform=AnyCPU /target:Clean
:SkipClean
-%MSBUILD_PATH% /nologo /verbosity:quiet Source\Tools\Flax.Build\Flax.Build.csproj /property:Configuration=Release /property:Platform=AnyCPU /target:Build
+%MSBUILD_PATH% /nologo /verbosity:quiet Source\Tools\Flax.Build\Flax.Build.csproj /property:Configuration=Release /property:Platform=AnyCPU /target:Build,Publish /p:PublishDir=C:\dev\Flax\FlaxEngine\Binaries\Tools /p:SelfContained=true /p:RuntimeIdentifier=win-x64
+::/p:PublishSingleFile=true /p:RuntimeIdentifier=win-x64
if errorlevel 1 goto Error_CompilationFailed
Binaries\Tools\Flax.Build.exe %*
diff --git a/Source/Tools/Flax.Build/Projects/VisualStudio/VCProjectGenerator.cs b/Source/Tools/Flax.Build/Projects/VisualStudio/VCProjectGenerator.cs
index 42f6095c3..f352bc6a0 100644
--- a/Source/Tools/Flax.Build/Projects/VisualStudio/VCProjectGenerator.cs
+++ b/Source/Tools/Flax.Build/Projects/VisualStudio/VCProjectGenerator.cs
@@ -175,9 +175,9 @@ namespace Flax.Build.Projects.VisualStudio
vcProjectFileContent.AppendLine(" ");
vcProjectFileContent.AppendLine(" ");
vcProjectFileContent.AppendLine(" ");
- vcProjectFileContent.AppendLine(string.Format(" {0} -build", cmdLine));
- vcProjectFileContent.AppendLine(string.Format(" {0} -rebuild", cmdLine));
- vcProjectFileContent.AppendLine(string.Format(" {0} -clean", cmdLine));
+ vcProjectFileContent.AppendLine(string.Format(" dotnet {0} -build", cmdLine));
+ vcProjectFileContent.AppendLine(string.Format(" dotnet {0} -rebuild", cmdLine));
+ vcProjectFileContent.AppendLine(string.Format(" dotnet {0} -clean", cmdLine));
vcProjectFileContent.AppendLine(string.Format(" {0}", outputTargetFilePath));
if (preprocessorDefinitions.Count != 0)