Files

Sharp-Basic 开发脚本工具

此目录包含用于开发 Sharp-Basic 项目的实用脚本工具。

快速开始

推荐方式: 在项目根目录双击 dev.bat,或在 scripts 目录双击 dev.bat,会显示交互式菜单。

⚠️ 重要说明

  1. 清理后必须还原: clean.bat 会删除 bin/obj 目录,删除后必须运行 restore.bat 还原 NuGet 包才能构建
  2. 推荐使用 rebuild.bat: 它会自动完成 清理 → 还原 → 构建 的完整流程
  3. 首次使用: 建议先运行 verify.bat 验证环境配置

脚本列表

批处理脚本 (.bat)

脚本 功能 说明
clean.bat 清理构建产物 删除所有 bin、obj 目录并运行 dotnet clean
build.bat 构建解决方案 Release 模式编译整个解决方案
rebuild.bat 重新构建 先清理再构建
restore.bat 还原 NuGet 包 恢复所有依赖包
test.bat 运行单元测试 执行所有测试项目并显示详细日志
run-demo.bat 运行演示应用 启动 Sharp.Demo 应用程序
format.bat 代码格式化 使用 dotnet format 统一代码风格
dev.bat 开发菜单 交互式菜单,集成所有功能 ⭐ 推荐
verify.bat 验证环境 检查开发环境和项目配置是否正常

PowerShell 脚本 (.ps1)

脚本 功能 说明
clean-deep.ps1 深度清理 删除所有构建产物、缓存、临时文件,可选清理 NuGet 全局缓存

使用方法

方式一:交互式菜单(推荐)

# 在项目根目录
dev.bat

# 或进入 scripts 目录
cd scripts
dev.bat

菜单选项:

[1] 清理项目 (clean)
[2] 还原包 (restore)
[3] 构建项目 (build)
[4] 重新构建 (rebuild)
[5] 运行测试 (test)
[6] 运行演示应用 (run-demo)
[7] 格式化代码 (format)
[8] 深度清理 (PowerShell)
[0] 退出

方式二:直接运行单个脚本

# 进入 scripts 目录
cd scripts

# 运行具体脚本
clean.bat       # 清理项目
build.bat       # 构建项目
test.bat        # 运行测试

方式三:PowerShell 深度清理

# 在 scripts 目录
.\clean-deep.ps1

# 或从项目根目录
powershell -ExecutionPolicy Bypass -File scripts\clean-deep.ps1

常见使用场景

场景 1:日常开发

dev.bat
# 选择 3 (构建) 或 6 (运行演示)

场景 2:遇到编译问题或缓存问题

# 推荐方式 - 自动处理所有步骤
cd scripts
rebuild.bat  # 清理 + 还原 + 重新构建

# 手动方式 - 分步执行
cd scripts
clean.bat    # 清理
restore.bat  # 还原包(必须!)
build.bat    # 构建

场景 3:代码提交前

cd scripts
format.bat   # 格式化代码
test.bat     # 确保测试通过

场景 4:解决缓存问题

cd scripts
.\clean-deep.ps1  # PowerShell 深度清理

场景 5:克隆项目后首次构建

cd scripts
restore.bat  # 还原 NuGet 包
build.bat    # 构建项目

脚本功能详解

clean.bat - 清理构建产物

  • 运行 dotnet clean Sharp.sln
  • 使用 PowerShell 递归删除所有 bin 和 obj 目录
  • 重要: 清理后必须运行 restore.bat 还原 NuGet 包
  • 用于解决编译缓存问题

rebuild.bat - 完整重建 ⭐ 推荐用于清理场景

  • 步骤 1: 清理所有构建产物
  • 步骤 2: 还原 NuGet 包
  • 步骤 3: Release 模式重新构建
  • 自动处理依赖关系,一次性完成所有操作

clean-deep.ps1 - 深度清理

除了 clean.bat 的功能外,还包括:

  • 删除 .vs 目录(Visual Studio 缓存)
  • 删除 TestResults 目录
  • 删除临时文件:*.tmp, *.temp, *.log, *.cache, *.bak, *.user
  • 可选清理 NuGet 全局缓存(需确认)
  • 显示删除统计信息

build.bat - 构建解决方案

  • 使用 Release 配置编译
  • 显示构建结果(成功/失败)
  • 返回错误代码

rebuild.bat - 重新构建

  • 先运行 clean.bat
  • 再运行 build.bat
  • 确保干净的构建环境

test.bat - 运行单元测试

  • 使用 Debug 配置
  • 详细日志输出
  • 显示测试结果统计

restore.bat - 还原 NuGet 包

  • 恢复所有项目依赖
  • 适用于克隆项目后首次构建

format.bat - 代码格式化

  • 使用 dotnet format 工具
  • 统一代码风格
  • 建议提交前运行

run-demo.bat - 运行演示应用

  • 启动 Sharp.Demo WPF 应用
  • 用于快速测试功能

注意事项

  1. PowerShell 执行策略:如果无法运行 PowerShell 脚本,需要设置执行策略:

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
    
  2. 路径问题:所有脚本都会自动切换到正确的目录,无需手动 cd

  3. 深度清理警告:clean-deep.ps1 会提示是否清理 NuGet 全局缓存,清理后需要重新下载所有包

  4. 编码问题:所有脚本使用 UTF-8 编码,支持中文显示

自定义和扩展

如需添加新脚本:

  1. 在 scripts 目录创建新的 .bat 或 .ps1 文件
  2. 使用 cd /d "%~dp0\.." 切换到项目根目录(批处理)
  3. 使用 Set-Location (Join-Path $PSScriptRoot "..") 切换到项目根目录(PowerShell)
  4. 可选:在 dev.bat 菜单中添加新选项

许可证

遵循 Sharp-Basic 项目的 GNU AGPLv3 许可证。