减少工程复杂度
This commit is contained in:
lincube
2026-03-04 16:43:10 +08:00
parent f78a56cb2c
commit b21bb490fa
27 changed files with 422 additions and 1744 deletions

1
.github/CODEOWNERS vendored
View File

@@ -12,7 +12,6 @@
# Backend Services
/LanMountainDesktop/Services/ @
/LanMountainDesktop.RecommendationBackend/ @
# Documentation
/docs/ @

View File

@@ -17,7 +17,6 @@ The current working directory does not contain a project or solution file.
### 1. 创建解决方案文件
✅ 创建了标准的 `LanMountainDesktop.sln` 文件,包含:
- `LanMountainDesktop/LanMountainDesktop.csproj`
- `LanMountainDesktop.RecommendationBackend/LanMountainDesktop.RecommendationBackend.csproj`
### 2. 验证本地构建工作
✅ 本地测试通过:
@@ -36,12 +35,11 @@ The current working directory does not contain a project or solution file.
## 📋 解决方案文件内容
包含两个项目的标准 Visual Studio 解决方案格式:
包含主桌面项目的标准 Visual Studio 解决方案格式:
```
LanMountainDesktop.sln
── LanMountainDesktop (Desktop UI - Avalonia)
└── LanMountainDesktop.RecommendationBackend (Web API - ASP.NET Core)
── LanMountainDesktop (Desktop UI - Avalonia)
```
---
@@ -55,7 +53,7 @@ LanMountainDesktop.sln
git add LanMountainDesktop.sln
# 2. 提交
git commit -m "Add solution file for multi-project structure"
git commit -m "Add solution file for desktop project"
# 3. 推送
git push origin main

View File

@@ -56,7 +56,6 @@ sed -i "s/<Version>.*<\/Version>/<Version>$VERSION<\/Version>/" file.csproj
自动更新的文件:
1. `LanMountainDesktop/LanMountainDesktop.csproj`
2. `LanMountainDesktop.RecommendationBackend/LanMountainDesktop.RecommendationBackend.csproj`
## ✅ 使用流程

View File

@@ -10,7 +10,7 @@ This document describes the CI/CD workflows configured for LanMountainDesktop. T
**Trigger:** Every push/PR to main branches, or manual dispatch
**What it does:**
- Builds both LanMountainDesktop and RecommendationBackend in Debug and Release modes
- Builds LanMountainDesktop in Debug and Release modes
- Runs unit tests (if available)
- Uploads build artifacts for inspection
- Runs on Windows (windows-latest)
@@ -110,14 +110,12 @@ dotnet restore
# Build (like CI does)
dotnet build LanMountainDesktop/LanMountainDesktop.csproj
dotnet build LanMountainDesktop.RecommendationBackend/LanMountainDesktop.RecommendationBackend.csproj
# Format code locally (required by CI)
dotnet format
# Run tests
dotnet test LanMountainDesktop/LanMountainDesktop.csproj
dotnet test LanMountainDesktop.RecommendationBackend/LanMountainDesktop.RecommendationBackend.csproj
# Alternative: Use local build scripts (Linux/macOS)
./scripts/build.sh --rid linux-x64 --version 1.0.0
@@ -244,7 +242,6 @@ Consider adding:
- Multi-platform builds (Linux, macOS)
- Installer generation (.exe, .msi)
- Automated changelog generation
- Docker images for backend
## References

View File

@@ -42,7 +42,6 @@ jobs:
name: build-windows-${{ matrix.configuration }}
path: |
LanMountainDesktop/bin/${{ matrix.configuration }}/
LanMountainDesktop.RecommendationBackend/bin/${{ matrix.configuration }}/
retention-days: 7
build-linux:
@@ -81,7 +80,6 @@ jobs:
name: build-linux
path: |
LanMountainDesktop/bin/Release/
LanMountainDesktop.RecommendationBackend/bin/Release/
retention-days: 7
build-macos:
@@ -112,5 +110,4 @@ jobs:
name: build-macos
path: |
LanMountainDesktop/bin/Release/
LanMountainDesktop.RecommendationBackend/bin/Release/
retention-days: 7

View File

@@ -65,8 +65,7 @@ jobs:
run: |
$VERSION = "${{ needs.prepare.outputs.version }}"
$csprojFiles = @(
"LanMountainDesktop/LanMountainDesktop.csproj",
"LanMountainDesktop.RecommendationBackend/LanMountainDesktop.RecommendationBackend.csproj"
"LanMountainDesktop/LanMountainDesktop.csproj"
)
foreach ($csprojPath in $csprojFiles) {
@@ -147,9 +146,6 @@ jobs:
VERSION="${{ needs.prepare.outputs.version }}"
echo "Updating version in LanMountainDesktop.csproj to $VERSION"
sed -i "s/<Version>.*<\/Version>/<Version>$VERSION<\/Version>/" LanMountainDesktop/LanMountainDesktop.csproj
echo "Updating version in LanMountainDesktop.RecommendationBackend.csproj to $VERSION"
sed -i "s/<Version>.*<\/Version>/<Version>$VERSION<\/Version>/" LanMountainDesktop.RecommendationBackend/LanMountainDesktop.RecommendationBackend.csproj
- name: Restore
run: dotnet restore ${{ env.Solution_Name }}
@@ -235,9 +231,6 @@ jobs:
VERSION="${{ needs.prepare.outputs.version }}"
echo "Updating version in LanMountainDesktop.csproj to $VERSION"
sed -i '' "s/<Version>.*<\/Version>/<Version>$VERSION<\/Version>/" LanMountainDesktop/LanMountainDesktop.csproj
echo "Updating version in LanMountainDesktop.RecommendationBackend.csproj to $VERSION"
sed -i '' "s/<Version>.*<\/Version>/<Version>$VERSION<\/Version>/" LanMountainDesktop.RecommendationBackend/LanMountainDesktop.RecommendationBackend.csproj
- name: Restore
run: dotnet restore ${{ env.Solution_Name }}