diff --git a/.github/FIX_REPORT.md b/.github/FIX_REPORT.md index 495e2ad..8cb741e 100644 --- a/.github/FIX_REPORT.md +++ b/.github/FIX_REPORT.md @@ -8,14 +8,14 @@ MSBUILD : error MSB1003: Specify a project or solution file. The current working directory does not contain a project or solution file. ``` -**原因**: 项目中缺少 `LanMountainDesktop.sln` 解决方案文件,但工作流尝试执行 `dotnet restore` 而没有指定项目。 +**原因**: 项目中缺少 `LanMountainDesktop.slnx` 解决方案文件,但工作流尝试执行 `dotnet restore` 而没有指定项目。 --- ## 🔧 已采取的修复 -### 1. 创建解决方案文件 -✅ 创建了标准的 `LanMountainDesktop.sln` 文件,包含: +### 1. 创建 `.slnx` 解决方案文件 +✅ 创建了标准的 `LanMountainDesktop.slnx` 文件,包含: - `LanMountainDesktop/LanMountainDesktop.csproj` ### 2. 验证本地构建工作 @@ -35,10 +35,10 @@ The current working directory does not contain a project or solution file. ## 📋 解决方案文件内容 -包含主桌面项目的标准 Visual Studio 解决方案格式: +包含主桌面项目的标准 XML 解决方案格式: ``` -LanMountainDesktop.sln +LanMountainDesktop.slnx └── LanMountainDesktop (Desktop UI - Avalonia) ``` @@ -50,10 +50,11 @@ LanMountainDesktop.sln ```bash # 1. 添加新创建的解决方案文件 -git add LanMountainDesktop.sln +git add LanMountainDesktop.slnx +git add global.json # 2. 提交 -git commit -m "Add solution file for desktop project" +git commit -m "Migrate desktop solution to .slnx" # 3. 推送 git push origin main @@ -92,7 +93,7 @@ git push origin v1.0.1 | `.github/workflows/code-quality.yml` | 代码质量检查 | ✅ 可用 | | `.github/workflows/release.yml` | 多平台发布 | ✅ 可用 | | `.github/workflows/issue-management.yml` | Issue自动管理 | ✅ 可用 | -| `LanMountainDesktop.sln` | 解决方案文件 | ✅ 已修复 | +| `LanMountainDesktop.slnx` | 解决方案文件 | ✅ 已修复 | --- diff --git a/.github/README.md b/.github/README.md index ff59934..809b3ea 100644 --- a/.github/README.md +++ b/.github/README.md @@ -36,9 +36,10 @@ - 扩展契约与字段说明见组件系统文档:`LanMountainDesktop/ComponentSystem/README.md`。 ## 当前状态 -- 项目包含桌面端与推荐后端两个子项目,并在同一 solution 中维护。 +- 项目包含桌面端与推荐后端两个子项目,并在同一 `LanMountainDesktop.slnx` 工作区中维护。 - 配置默认写入本地:`%LOCALAPPDATA%\LanMountainDesktop\settings.json`。 - 当前体验以 Windows 为主要目标平台。 +- SDK 版本由仓库根目录 `global.json` 锁定。 ## 运行说明 运行与环境准备已拆分到独立文档:[`run.md`](./run.md) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bc34717..6551f1a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,7 +9,7 @@ on: env: DOTNET_VERSION: '10.0.x' - Solution_Name: LanMountainDesktop.sln + Solution_Name: LanMountainDesktop.slnx jobs: build-windows: diff --git a/.github/workflows/code-quality.yml b/.github/workflows/code-quality.yml index 16a69fb..905f31d 100644 --- a/.github/workflows/code-quality.yml +++ b/.github/workflows/code-quality.yml @@ -8,7 +8,7 @@ on: env: DOTNET_VERSION: '10.0.x' - Solution_Name: LanMountainDesktop.sln + Solution_Name: LanMountainDesktop.slnx jobs: analyze: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 523423c..b3c34d7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,7 +18,7 @@ on: env: DOTNET_VERSION: '10.0.x' - Solution_Name: LanMountainDesktop.sln + Solution_Name: LanMountainDesktop.slnx jobs: prepare: diff --git a/LanMountainDesktop.sln b/LanMountainDesktop.sln deleted file mode 100644 index efc0986..0000000 --- a/LanMountainDesktop.sln +++ /dev/null @@ -1,43 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.31903.59 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LanMountainDesktop", "LanMountainDesktop\LanMountainDesktop.csproj", "{00000001-0000-0000-0000-000000000001}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LanMountainDesktop.SamplePlugin", "LanAirApp\samples\LanMountainDesktop.SamplePlugin\LanMountainDesktop.SamplePlugin.csproj", "{BDCD028D-DB6E-4BD5-994A-65889DBDEE0C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LanMountainDesktop.PluginPackager", "LanAirApp\tools\LanMountainDesktop.PluginPackager\LanMountainDesktop.PluginPackager.csproj", "{AAE8578B-1F9D-4D4F-8B2E-0A98C55B0C31}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LanMountainDesktop.PluginSdk", "LanMountainDesktop.PluginSdk\LanMountainDesktop.PluginSdk.csproj", "{30A0F689-AACC-48C8-8BFE-BC7BFBA6CC55}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LanMountainDesktop.PluginsInstallHelper", "LanMountainDesktop.PluginsInstallHelper\LanMountainDesktop.PluginsInstallHelper.csproj", "{5A20D5E9-BD27-4DD4-9F4F-97E0367DD2AC}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {00000001-0000-0000-0000-000000000001}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {00000001-0000-0000-0000-000000000001}.Debug|Any CPU.Build.0 = Debug|Any CPU - {00000001-0000-0000-0000-000000000001}.Release|Any CPU.ActiveCfg = Release|Any CPU - {00000001-0000-0000-0000-000000000001}.Release|Any CPU.Build.0 = Release|Any CPU - {BDCD028D-DB6E-4BD5-994A-65889DBDEE0C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BDCD028D-DB6E-4BD5-994A-65889DBDEE0C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BDCD028D-DB6E-4BD5-994A-65889DBDEE0C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BDCD028D-DB6E-4BD5-994A-65889DBDEE0C}.Release|Any CPU.Build.0 = Release|Any CPU - {AAE8578B-1F9D-4D4F-8B2E-0A98C55B0C31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {AAE8578B-1F9D-4D4F-8B2E-0A98C55B0C31}.Debug|Any CPU.Build.0 = Debug|Any CPU - {AAE8578B-1F9D-4D4F-8B2E-0A98C55B0C31}.Release|Any CPU.ActiveCfg = Release|Any CPU - {AAE8578B-1F9D-4D4F-8B2E-0A98C55B0C31}.Release|Any CPU.Build.0 = Release|Any CPU - {30A0F689-AACC-48C8-8BFE-BC7BFBA6CC55}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {30A0F689-AACC-48C8-8BFE-BC7BFBA6CC55}.Debug|Any CPU.Build.0 = Debug|Any CPU - {30A0F689-AACC-48C8-8BFE-BC7BFBA6CC55}.Release|Any CPU.ActiveCfg = Release|Any CPU - {30A0F689-AACC-48C8-8BFE-BC7BFBA6CC55}.Release|Any CPU.Build.0 = Release|Any CPU - {5A20D5E9-BD27-4DD4-9F4F-97E0367DD2AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5A20D5E9-BD27-4DD4-9F4F-97E0367DD2AC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5A20D5E9-BD27-4DD4-9F4F-97E0367DD2AC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5A20D5E9-BD27-4DD4-9F4F-97E0367DD2AC}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection -EndGlobal diff --git a/LanMountainDesktop.slnx b/LanMountainDesktop.slnx new file mode 100644 index 0000000..fa42155 --- /dev/null +++ b/LanMountainDesktop.slnx @@ -0,0 +1,7 @@ + + + + + + + diff --git a/README.md b/README.md index fbd77b5..9ba3fa3 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,7 @@ - Windows 是当前主要目标平台。 - 已提供组件系统、插件系统、主题系统和设置系统。 - 中文为主语言,英文为附加扩展语言。 +- 仓库主入口解决方案文件已切换为 `LanMountainDesktop.slnx`,SDK 版本由根目录 `global.json` 锁定。 ### 运行说明 diff --git a/global.json b/global.json new file mode 100644 index 0000000..ed07ad8 --- /dev/null +++ b/global.json @@ -0,0 +1,6 @@ +{ + "sdk": { + "version": "10.0.103", + "rollForward": "latestFeature" + } +} diff --git a/run.md b/run.md index df33d72..a2c3c3b 100644 --- a/run.md +++ b/run.md @@ -8,12 +8,14 @@ - 安装 .NET SDK 10。 - 桌面端建议在 Windows 上运行。 +- 仓库主入口解决方案文件为 `LanMountainDesktop.slnx`。 +- SDK 版本由仓库根目录 `global.json` 锁定。 ### 构建 ```bash dotnet restore -dotnet build LanMountainDesktop.sln -c Debug +dotnet build LanMountainDesktop.slnx -c Debug ``` ### 运行桌面端 @@ -41,11 +43,13 @@ dotnet run --project LanMountainDesktop/LanMountainDesktop.csproj This guide explains how to run LanMountainDesktop locally. +The repository entry solution is `LanMountainDesktop.slnx`, and the SDK version is pinned by the root `global.json`. + ### Build ```bash dotnet restore -dotnet build LanMountainDesktop.sln -c Debug +dotnet build LanMountainDesktop.slnx -c Debug ``` ### Run