D:删除构建文件,增加调试脚本
This commit is contained in:
1 parent
3b89b2d722
commit
d133bacf55
40 files changed
+1180
-1066
No files matched your search
@@ -0,0 +1,199 @@
|
||||
# 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 全局缓存 |
|
||||
|
||||
## 使用方法
|
||||
|
||||
### 方式一:交互式菜单(推荐)
|
||||
|
||||
```cmd
|
||||
# 在项目根目录
|
||||
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] 退出
|
||||
```
|
||||
|
||||
### 方式二:直接运行单个脚本
|
||||
|
||||
```cmd
|
||||
# 进入 scripts 目录
|
||||
cd scripts
|
||||
|
||||
# 运行具体脚本
|
||||
clean.bat # 清理项目
|
||||
build.bat # 构建项目
|
||||
test.bat # 运行测试
|
||||
```
|
||||
|
||||
### 方式三:PowerShell 深度清理
|
||||
|
||||
```powershell
|
||||
# 在 scripts 目录
|
||||
.\clean-deep.ps1
|
||||
|
||||
# 或从项目根目录
|
||||
powershell -ExecutionPolicy Bypass -File scripts\clean-deep.ps1
|
||||
```
|
||||
|
||||
## 常见使用场景
|
||||
|
||||
### 场景 1:日常开发
|
||||
```cmd
|
||||
dev.bat
|
||||
# 选择 3 (构建) 或 6 (运行演示)
|
||||
```
|
||||
|
||||
### 场景 2:遇到编译问题或缓存问题
|
||||
```cmd
|
||||
# 推荐方式 - 自动处理所有步骤
|
||||
cd scripts
|
||||
rebuild.bat # 清理 + 还原 + 重新构建
|
||||
|
||||
# 手动方式 - 分步执行
|
||||
cd scripts
|
||||
clean.bat # 清理
|
||||
restore.bat # 还原包(必须!)
|
||||
build.bat # 构建
|
||||
```
|
||||
|
||||
### 场景 3:代码提交前
|
||||
```cmd
|
||||
cd scripts
|
||||
format.bat # 格式化代码
|
||||
test.bat # 确保测试通过
|
||||
```
|
||||
|
||||
### 场景 4:解决缓存问题
|
||||
```cmd
|
||||
cd scripts
|
||||
.\clean-deep.ps1 # PowerShell 深度清理
|
||||
```
|
||||
|
||||
### 场景 5:克隆项目后首次构建
|
||||
```cmd
|
||||
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 脚本,需要设置执行策略:
|
||||
```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 许可证。
|
||||
@@ -0,0 +1,45 @@
|
||||
@echo off
|
||||
REM ========================================
|
||||
REM 构建脚本 - 编译整个解决方案
|
||||
REM ========================================
|
||||
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo 构建 Sharp-Basic 解决方案
|
||||
echo ==========================================
|
||||
echo.
|
||||
|
||||
REM 切换到项目根目录
|
||||
cd /d "%~dp0\.."
|
||||
|
||||
REM 切换到解决方案目录
|
||||
cd src\Sharp
|
||||
|
||||
echo 正在检查是否需要还原 NuGet 包...
|
||||
dotnet restore Sharp.sln --verbosity quiet
|
||||
if %ERRORLEVEL% NEQ 0 (
|
||||
echo 警告: NuGet 包还原失败
|
||||
)
|
||||
|
||||
echo.
|
||||
echo 正在构建解决方案...
|
||||
echo.
|
||||
dotnet build Sharp.sln --configuration Release
|
||||
|
||||
if %ERRORLEVEL% EQU 0 (
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo 构建成功!
|
||||
echo ==========================================
|
||||
) else (
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo 构建失败!错误代码: %ERRORLEVEL%
|
||||
echo ==========================================
|
||||
echo.
|
||||
echo 提示: 如果缺少依赖包,请先运行 restore.bat
|
||||
)
|
||||
|
||||
cd ..\..
|
||||
echo.
|
||||
pause
|
||||
@@ -0,0 +1,95 @@
|
||||
# ========================================
|
||||
# PowerShell 深度清理脚本
|
||||
# 删除所有构建产物、缓存、临时文件
|
||||
# ========================================
|
||||
|
||||
Write-Host ""
|
||||
Write-Host "==========================================" -ForegroundColor Cyan
|
||||
Write-Host "Sharp-Basic 深度清理工具" -ForegroundColor Cyan
|
||||
Write-Host "==========================================" -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
|
||||
# 切换到项目根目录
|
||||
Set-Location (Join-Path $PSScriptRoot "..")
|
||||
|
||||
# 统计删除的目录和文件数量
|
||||
$deletedDirs = 0
|
||||
$deletedFiles = 0
|
||||
|
||||
# 1. 删除所有 bin 目录
|
||||
Write-Host "[1/7] 正在删除所有 bin 目录..." -ForegroundColor Yellow
|
||||
Get-ChildItem -Path . -Recurse -Directory -Filter "bin" -ErrorAction SilentlyContinue | ForEach-Object {
|
||||
Write-Host " 删除: $($_.FullName)" -ForegroundColor Gray
|
||||
Remove-Item $_.FullName -Recurse -Force -ErrorAction SilentlyContinue
|
||||
$deletedDirs++
|
||||
}
|
||||
|
||||
# 2. 删除所有 obj 目录
|
||||
Write-Host ""
|
||||
Write-Host "[2/7] 正在删除所有 obj 目录..." -ForegroundColor Yellow
|
||||
Get-ChildItem -Path . -Recurse -Directory -Filter "obj" -ErrorAction SilentlyContinue | ForEach-Object {
|
||||
Write-Host " 删除: $($_.FullName)" -ForegroundColor Gray
|
||||
Remove-Item $_.FullName -Recurse -Force -ErrorAction SilentlyContinue
|
||||
$deletedDirs++
|
||||
}
|
||||
|
||||
# 3. 删除 .vs 目录(Visual Studio 缓存)
|
||||
Write-Host ""
|
||||
Write-Host "[3/7] 正在删除 .vs 目录..." -ForegroundColor Yellow
|
||||
Get-ChildItem -Path . -Recurse -Directory -Filter ".vs" -Force -ErrorAction SilentlyContinue | ForEach-Object {
|
||||
Write-Host " 删除: $($_.FullName)" -ForegroundColor Gray
|
||||
Remove-Item $_.FullName -Recurse -Force -ErrorAction SilentlyContinue
|
||||
$deletedDirs++
|
||||
}
|
||||
|
||||
# 4. 删除 TestResults 目录
|
||||
Write-Host ""
|
||||
Write-Host "[4/7] 正在删除 TestResults 目录..." -ForegroundColor Yellow
|
||||
Get-ChildItem -Path . -Recurse -Directory -Filter "TestResults" -ErrorAction SilentlyContinue | ForEach-Object {
|
||||
Write-Host " 删除: $($_.FullName)" -ForegroundColor Gray
|
||||
Remove-Item $_.FullName -Recurse -Force -ErrorAction SilentlyContinue
|
||||
$deletedDirs++
|
||||
}
|
||||
|
||||
# 5. 删除临时文件
|
||||
Write-Host ""
|
||||
Write-Host "[5/7] 正在删除临时文件..." -ForegroundColor Yellow
|
||||
$tempPatterns = @("*.tmp", "*.temp", "*.log", "*.cache", "*.bak", "*.user")
|
||||
foreach ($pattern in $tempPatterns) {
|
||||
Get-ChildItem -Path . -Recurse -File -Filter $pattern -ErrorAction SilentlyContinue | ForEach-Object {
|
||||
Write-Host " 删除: $($_.FullName)" -ForegroundColor Gray
|
||||
Remove-Item $_.FullName -Force -ErrorAction SilentlyContinue
|
||||
$deletedFiles++
|
||||
}
|
||||
}
|
||||
|
||||
# 6. 使用 dotnet clean
|
||||
Write-Host ""
|
||||
Write-Host "[6/7] 使用 dotnet clean 清理解决方案..." -ForegroundColor Yellow
|
||||
Push-Location "src\Sharp"
|
||||
dotnet clean Sharp.sln --verbosity minimal
|
||||
Pop-Location
|
||||
|
||||
# 7. 清理 NuGet 包缓存(可选,慎用)
|
||||
Write-Host ""
|
||||
Write-Host "[7/7] 是否清理 NuGet 包缓存?" -ForegroundColor Yellow
|
||||
Write-Host " 警告: 这将删除所有缓存的 NuGet 包,下次构建需要重新下载" -ForegroundColor Red
|
||||
$response = Read-Host " 输入 'yes' 继续,任意键跳过"
|
||||
if ($response -eq 'yes') {
|
||||
Write-Host " 正在清理 NuGet 缓存..." -ForegroundColor Gray
|
||||
dotnet nuget locals all --clear
|
||||
} else {
|
||||
Write-Host " 已跳过 NuGet 缓存清理" -ForegroundColor Gray
|
||||
}
|
||||
|
||||
# 显示统计信息
|
||||
Write-Host ""
|
||||
Write-Host "==========================================" -ForegroundColor Cyan
|
||||
Write-Host "清理完成!" -ForegroundColor Green
|
||||
Write-Host "==========================================" -ForegroundColor Cyan
|
||||
Write-Host "删除的目录数: $deletedDirs" -ForegroundColor White
|
||||
Write-Host "删除的文件数: $deletedFiles" -ForegroundColor White
|
||||
Write-Host ""
|
||||
|
||||
# 暂停以便查看结果
|
||||
Read-Host "按回车键退出"
|
||||
@@ -0,0 +1,37 @@
|
||||
@echo off
|
||||
REM ========================================
|
||||
REM 清理脚本 - 删除所有 bin, obj 目录
|
||||
REM ========================================
|
||||
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo 清理 Sharp-Basic 项目构建产物
|
||||
echo ==========================================
|
||||
echo.
|
||||
|
||||
REM 切换到项目根目录
|
||||
cd /d "%~dp0\.."
|
||||
|
||||
echo [1/2] 使用 dotnet clean 清理解决方案...
|
||||
cd src\Sharp
|
||||
dotnet clean Sharp.sln --verbosity quiet
|
||||
if %ERRORLEVEL% NEQ 0 (
|
||||
echo 警告: dotnet clean 执行失败
|
||||
)
|
||||
cd ..\..
|
||||
|
||||
echo.
|
||||
echo [2/2] 正在删除所有 bin 和 obj 目录...
|
||||
REM 使用 PowerShell 进行更可靠的删除
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -Command "Get-ChildItem -Path '.' -Include bin,obj -Recurse -Directory -Force | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue"
|
||||
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo 清理完成!
|
||||
echo ==========================================
|
||||
echo.
|
||||
echo 提示: 清理后需要运行 restore.bat 还原 NuGet 包
|
||||
echo 或直接运行 rebuild.bat 进行完整重建
|
||||
echo.
|
||||
|
||||
pause
|
||||
@@ -0,0 +1,94 @@
|
||||
@echo off
|
||||
REM ========================================
|
||||
REM 开发环境快速启动脚本
|
||||
REM ========================================
|
||||
|
||||
REM 切换到脚本目录
|
||||
cd /d "%~dp0"
|
||||
|
||||
:menu
|
||||
cls
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo Sharp-Basic 开发工具菜单
|
||||
echo ==========================================
|
||||
echo.
|
||||
echo 当前目录: %CD%
|
||||
echo.
|
||||
echo 常用操作:
|
||||
echo [1] 清理项目 (clean)
|
||||
echo [2] 还原 NuGet 包 (restore)
|
||||
echo [3] 构建项目 (build)
|
||||
echo [4] 重新构建 (clean + restore + build)
|
||||
echo [5] 运行测试 (test)
|
||||
echo [6] 运行演示应用 (run-demo)
|
||||
echo.
|
||||
echo 高级操作:
|
||||
echo [7] 格式化代码 (format)
|
||||
echo [8] 深度清理 (PowerShell - 包含缓存清理)
|
||||
echo.
|
||||
echo [0] 退出
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo.
|
||||
|
||||
set /p choice="请输入选项 (0-8): "
|
||||
|
||||
if "%choice%"=="1" goto clean
|
||||
if "%choice%"=="2" goto restore
|
||||
if "%choice%"=="3" goto build
|
||||
if "%choice%"=="4" goto rebuild
|
||||
if "%choice%"=="5" goto test
|
||||
if "%choice%"=="6" goto run
|
||||
if "%choice%"=="7" goto format
|
||||
if "%choice%"=="8" goto deep
|
||||
if "%choice%"=="0" goto exit
|
||||
|
||||
echo.
|
||||
echo 无效选项!请输入 0-8 之间的数字
|
||||
timeout /t 2 >nul
|
||||
goto menu
|
||||
|
||||
:clean
|
||||
cls
|
||||
call clean.bat
|
||||
goto menu
|
||||
|
||||
:restore
|
||||
cls
|
||||
call restore.bat
|
||||
goto menu
|
||||
|
||||
:build
|
||||
cls
|
||||
call build.bat
|
||||
goto menu
|
||||
|
||||
:rebuild
|
||||
cls
|
||||
call rebuild.bat
|
||||
goto menu
|
||||
|
||||
:test
|
||||
cls
|
||||
call test.bat
|
||||
goto menu
|
||||
|
||||
:run
|
||||
cls
|
||||
call run-demo.bat
|
||||
goto menu
|
||||
|
||||
:format
|
||||
cls
|
||||
call format.bat
|
||||
goto menu
|
||||
|
||||
:deep
|
||||
cls
|
||||
powershell -ExecutionPolicy Bypass -File clean-deep.ps1
|
||||
pause
|
||||
goto menu
|
||||
|
||||
:exit
|
||||
exit
|
||||
@@ -0,0 +1,53 @@
|
||||
@echo off
|
||||
REM ========================================
|
||||
REM 代码格式化脚本
|
||||
REM ========================================
|
||||
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo 格式化 C# 代码
|
||||
echo ==========================================
|
||||
echo.
|
||||
|
||||
REM 切换到项目根目录
|
||||
cd /d "%~dp0\.."
|
||||
|
||||
REM 切换到解决方案目录
|
||||
cd src\Sharp
|
||||
|
||||
REM 检查 dotnet format 是否可用
|
||||
dotnet format --version >nul 2>&1
|
||||
if %ERRORLEVEL% NEQ 0 (
|
||||
echo 错误: dotnet format 工具不可用
|
||||
echo.
|
||||
echo 请安装 dotnet format:
|
||||
echo dotnet tool install -g dotnet-format
|
||||
echo.
|
||||
cd ..\..
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo 正在格式化代码...
|
||||
echo.
|
||||
dotnet format Sharp.sln --verbosity diagnostic
|
||||
|
||||
if %ERRORLEVEL% EQU 0 (
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo 代码格式化完成!
|
||||
echo ==========================================
|
||||
) else (
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo 代码格式化失败!错误代码: %ERRORLEVEL%
|
||||
echo ==========================================
|
||||
echo.
|
||||
echo 可能的原因:
|
||||
echo 1. 代码存在语法错误
|
||||
echo 2. 某些文件被占用
|
||||
)
|
||||
|
||||
cd ..\..
|
||||
echo.
|
||||
pause
|
||||
@@ -0,0 +1,57 @@
|
||||
@echo off
|
||||
REM ========================================
|
||||
REM 重新构建脚本 - 清理、还原、重新编译
|
||||
REM ========================================
|
||||
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo 重新构建 Sharp-Basic 解决方案
|
||||
echo ==========================================
|
||||
echo.
|
||||
|
||||
REM 切换到项目根目录
|
||||
cd /d "%~dp0\.."
|
||||
|
||||
echo [步骤 1/3] 清理项目...
|
||||
cd src\Sharp
|
||||
dotnet clean Sharp.sln --verbosity quiet
|
||||
cd ..\..
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -Command "Get-ChildItem -Path '.' -Include bin,obj -Recurse -Directory -Force | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue"
|
||||
echo 清理完成
|
||||
|
||||
echo.
|
||||
echo [步骤 2/3] 还原 NuGet 包...
|
||||
cd src\Sharp
|
||||
dotnet restore Sharp.sln --verbosity quiet
|
||||
if %ERRORLEVEL% NEQ 0 (
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo NuGet 包还原失败!
|
||||
echo ==========================================
|
||||
cd ..\..
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
echo 还原完成
|
||||
cd ..\..
|
||||
|
||||
echo.
|
||||
echo [步骤 3/3] 构建解决方案...
|
||||
cd src\Sharp
|
||||
dotnet build Sharp.sln --configuration Release --no-restore
|
||||
|
||||
if %ERRORLEVEL% EQU 0 (
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo 重新构建成功!
|
||||
echo ==========================================
|
||||
) else (
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo 构建失败!错误代码: %ERRORLEVEL%
|
||||
echo ==========================================
|
||||
)
|
||||
|
||||
cd ..\..
|
||||
echo.
|
||||
pause
|
||||
@@ -0,0 +1,43 @@
|
||||
@echo off
|
||||
REM ========================================
|
||||
REM NuGet 包还原脚本
|
||||
REM ========================================
|
||||
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo 还原 NuGet 包
|
||||
echo ==========================================
|
||||
echo.
|
||||
|
||||
REM 切换到项目根目录
|
||||
cd /d "%~dp0\.."
|
||||
|
||||
REM 切换到解决方案目录
|
||||
cd src\Sharp
|
||||
|
||||
echo 正在还原 NuGet 包...
|
||||
echo.
|
||||
dotnet restore Sharp.sln --verbosity minimal
|
||||
|
||||
if %ERRORLEVEL% EQU 0 (
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo NuGet 包还原成功!
|
||||
echo ==========================================
|
||||
echo.
|
||||
echo 提示: 现在可以运行 build.bat 进行构建
|
||||
) else (
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo NuGet 包还原失败!错误代码: %ERRORLEVEL%
|
||||
echo ==========================================
|
||||
echo.
|
||||
echo 可能的原因:
|
||||
echo 1. 网络连接问题
|
||||
echo 2. NuGet 源配置问题
|
||||
echo 3. 项目文件损坏
|
||||
)
|
||||
|
||||
cd ..\..
|
||||
echo.
|
||||
pause
|
||||
@@ -0,0 +1,44 @@
|
||||
@echo off
|
||||
REM ========================================
|
||||
REM 运行演示应用
|
||||
REM ========================================
|
||||
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo 启动 Sharp.Demo 应用程序
|
||||
echo ==========================================
|
||||
echo.
|
||||
|
||||
REM 切换到项目根目录
|
||||
cd /d "%~dp0\.."
|
||||
|
||||
REM 切换到解决方案目录
|
||||
cd src\Sharp
|
||||
|
||||
REM 检查项目是否存在
|
||||
if not exist "Sharp.Demo\Sharp.Demo.csproj" (
|
||||
echo 错误: 找不到 Sharp.Demo 项目!
|
||||
echo 项目路径: Sharp.Demo\Sharp.Demo.csproj
|
||||
cd ..\..
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo 正在启动应用...
|
||||
echo.
|
||||
dotnet run --project Sharp.Demo\Sharp.Demo.csproj
|
||||
|
||||
if %ERRORLEVEL% NEQ 0 (
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo 应用启动失败!错误代码: %ERRORLEVEL%
|
||||
echo ==========================================
|
||||
echo.
|
||||
echo 可能的原因:
|
||||
echo 1. 项目未构建,请先运行 build.bat
|
||||
echo 2. 缺少依赖包,请先运行 restore.bat
|
||||
echo 3. 代码存在编译错误
|
||||
)
|
||||
|
||||
cd ..\..
|
||||
pause
|
||||
@@ -0,0 +1,41 @@
|
||||
@echo off
|
||||
REM ========================================
|
||||
REM 测试脚本 - 运行所有单元测试
|
||||
REM ========================================
|
||||
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo 运行 Sharp-Basic 单元测试
|
||||
echo ==========================================
|
||||
echo.
|
||||
|
||||
REM 切换到项目根目录
|
||||
cd /d "%~dp0\.."
|
||||
|
||||
REM 切换到解决方案目录
|
||||
cd src\Sharp
|
||||
|
||||
echo 正在还原依赖并构建测试项目...
|
||||
dotnet restore Sharp.sln --verbosity quiet
|
||||
dotnet build Sharp.sln --configuration Debug --verbosity quiet
|
||||
|
||||
echo.
|
||||
echo 正在运行测试...
|
||||
echo.
|
||||
dotnet test Sharp.sln --configuration Debug --no-build --verbosity normal
|
||||
|
||||
if %ERRORLEVEL% EQU 0 (
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo 所有测试通过!
|
||||
echo ==========================================
|
||||
) else (
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo 测试失败!错误代码: %ERRORLEVEL%
|
||||
echo ==========================================
|
||||
)
|
||||
|
||||
cd ..\..
|
||||
echo.
|
||||
pause
|
||||
@@ -0,0 +1,55 @@
|
||||
@echo off
|
||||
REM ========================================
|
||||
REM 验证脚本功能
|
||||
REM ========================================
|
||||
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo 验证 Sharp-Basic 脚本工具
|
||||
echo ==========================================
|
||||
echo.
|
||||
|
||||
cd /d "%~dp0\.."
|
||||
|
||||
echo [测试 1] 检查解决方案文件...
|
||||
if exist "src\Sharp\Sharp.sln" (
|
||||
echo [OK] 找到 Sharp.sln
|
||||
) else (
|
||||
echo [FAIL] 未找到 Sharp.sln
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [测试 2] 检查 dotnet 版本...
|
||||
dotnet --version
|
||||
if %ERRORLEVEL% EQU 0 (
|
||||
echo [OK] dotnet CLI 可用
|
||||
) else (
|
||||
echo [FAIL] dotnet CLI 不可用
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [测试 3] 测试清理功能(扫描 bin/obj 目录)...
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -Command "$dirs = Get-ChildItem -Path 'src\Sharp' -Include bin,obj -Recurse -Directory -Force -ErrorAction SilentlyContinue; Write-Host \" 找到 $($dirs.Count) 个 bin/obj 目录\""
|
||||
|
||||
echo.
|
||||
echo [测试 4] 检查项目文件完整性...
|
||||
set /a count=0
|
||||
for %%f in (src\Sharp\Common\Common.csproj src\Sharp\Config\Config.csproj src\Sharp\Wpf\Wpf.csproj) do (
|
||||
if exist "%%f" (
|
||||
set /a count+=1
|
||||
)
|
||||
)
|
||||
echo [OK] 找到 %count% 个核心项目文件
|
||||
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo 验证完成
|
||||
echo ==========================================
|
||||
echo.
|
||||
echo 建议使用步骤:
|
||||
echo 1. 运行 restore.bat - 还原 NuGet 包
|
||||
echo 2. 运行 build.bat - 构建项目
|
||||
echo 或直接运行 rebuild.bat - 完整重建
|
||||
echo.
|
||||
|
||||
pause
|
||||
Reference in new issue
Block a user