@echo off setlocal cd /d "%~dp0.." echo ======================================================= echo MemScan-EDR C# Build echo ======================================================= echo. where dotnet >nul 2>&1 if %ERRORLEVEL% NEQ 0 ( echo [ERROR] .NET SDK not found! echo. echo Install .NET 8 SDK from: echo https://dotnet.microsoft.com/download/dotnet/8.0 echo. pause exit /b 1 ) dotnet --version echo. echo [1/3] Restoring NuGet packages... dotnet restore src-csharp\MemScanEDR.sln if %ERRORLEVEL% NEQ 0 ( echo [FAIL] Restore failed pause exit /b 1 ) echo. echo [2/3] Building Release (single-file exe)... dotnet publish src-csharp\MemScanEDR\MemScanEDR.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o dist-csharp if %ERRORLEVEL% NEQ 0 ( echo [FAIL] Build failed pause exit /b 1 ) echo. echo [3/3] Copying resources... if exist "rules" xcopy /E /I /Y "rules" "dist-csharp\rules" >nul if exist "config" xcopy /E /I /Y "config" "dist-csharp\config" >nul if exist "src\ce_mcp_server\server.py" copy /Y "src\ce_mcp_server\server.py" "dist-csharp\src\ce_mcp_server\server.py" >nul echo. echo ======================================================= echo BUILD SUCCESS! echo. if exist "dist-csharp\MemScan-EDR.exe" ( echo Output: dist-csharp\MemScan-EDR.exe dir "dist-csharp\MemScan-EDR.exe" 2>nul | findstr "MemScan" ) echo. echo Copy dist-csharp\ folder to target machine. echo Requires .NET 8 runtime OR self-contained exe. echo ======================================================= echo. pause