@echo off setlocal rem 切到仓库根目录(scripts 的上一级) cd /d "%~dp0\.." rem NativeAOT 的原生链接需要 MSVC 工具链,先用 vswhere 找到 VS 并配置环境 set "VSWHERE=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" if exist "%VSWHERE%" ( for /f "usebackq tokens=*" %%i in (`"%VSWHERE%" -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do set "VSPATH=%%i" ) if defined VSPATH if exist "%VSPATH%\VC\Auxiliary\Build\vcvars64.bat" ( echo === 配置 MSVC 环境: %VSPATH% === call "%VSPATH%\VC\Auxiliary\Build\vcvars64.bat" >nul ) echo === NativeAOT publish (win-x64) -^> bin\notify.exe === dotnet publish Notify -c Release -r win-x64 -p:PublishAot=true -o bin if errorlevel 1 ( echo. echo *** 发布失败。若提示找不到 link.exe,请从 "Developer Command Prompt for VS" 运行本脚本 *** exit /b 1 ) echo. echo === 完成: %CD%\bin\notify.exe === endlocal