refactor: 升级到 .NET 10 并优化项目结构

- 移动项目到 src/ 目录
- 创建 slnx 解决方案文件
- 使用 CPM 集中管理 NuGet 包版本并升级到最新 10.x
- 添加 Consul 项目打包
- 更新 CI/CD workflow 路径
This commit is contained in:
movingsam 2026-02-27 15:19:02 +08:00
parent 1006eeaff5
commit 216899ee0d
20 changed files with 54 additions and 14 deletions

View File

@ -22,19 +22,23 @@ jobs:
dotnet-version: "10.0.x" dotnet-version: "10.0.x"
- name: Pack Core - name: Pack Core
if: startsWith(github.ref, "refs/tags/v") if: startsWith(github.ref, 'refs/tags/v')
run: dotnet pack Fengling.ServiceDiscovery.Core/Fengling.ServiceDiscovery.Core.csproj -c Release -o ./packages run: dotnet pack src/Fengling.ServiceDiscovery.Core/Fengling.ServiceDiscovery.Core.csproj -c Release -o ./packages
- name: Pack Kubernetes - name: Pack Kubernetes
if: startsWith(github.ref, "refs/tags/v") if: startsWith(github.ref, 'refs/tags/v')
run: dotnet pack Fengling.ServiceDiscovery.Kubernetes/Fengling.ServiceDiscovery.Kubernetes.csproj -c Release -o ./packages run: dotnet pack src/Fengling.ServiceDiscovery.Kubernetes/Fengling.ServiceDiscovery.Kubernetes.csproj -c Release -o ./packages
- name: Pack Consul
if: startsWith(github.ref, 'refs/tags/v')
run: dotnet pack src/Fengling.ServiceDiscovery.Consul/Fengling.ServiceDiscovery.Consul.csproj -c Release -o ./packages
- name: Pack Static - name: Pack Static
if: startsWith(github.ref, "refs/tags/v") if: startsWith(github.ref, 'refs/tags/v')
run: dotnet pack Fengling.ServiceDiscovery.Static/Fengling.ServiceDiscovery.Static.csproj -c Release -o ./packages run: dotnet pack src/Fengling.ServiceDiscovery.Static/Fengling.ServiceDiscovery.Static.csproj -c Release -o ./packages
- name: Push to Gitea - name: Push to Gitea
if: startsWith(github.ref, "refs/tags/v") if: startsWith(github.ref, 'refs/tags/v')
run: | run: |
for pkg in ./packages/*.nupkg; do for pkg in ./packages/*.nupkg; do
dotnet nuget push "$pkg" --source "$GITEA_URL/gitea_registry/fengling/go/__index" --skip-duplicate dotnet nuget push "$pkg" --source "$GITEA_URL/gitea_registry/fengling/go/__index" --skip-duplicate

16
Directory.Packages.props Normal file
View File

@ -0,0 +1,16 @@
<Project>
<PropertyGroup>
<!-- Enable central package management, https://learn.microsoft.com/en-us/nuget/consume-packages/Central-Package-Management -->
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.3" />
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="10.0.2" />
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="10.0.2" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.3" />
<PackageVersion Include="Microsoft.Extensions.Options" Version="10.0.3" />
<PackageVersion Include="Microsoft.Extensions.Http" Version="10.0.3" />
<PackageVersion Include="KubernetesClient" Version="19.0.2" />
<PackageVersion Include="Consul" Version="1.7.14.10" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,12 @@
<Solution>
<Folder Name="/items/">
<File Path="Directory.Packages.props" />
<File Path="NuGet.Config" />
</Folder>
<Folder Name="/src/">
<Project Path="src/Fengling.ServiceDiscovery.Consul/Fengling.ServiceDiscovery.Consul.csproj" />
<Project Path="src/Fengling.ServiceDiscovery.Core/Fengling.ServiceDiscovery.Core.csproj" />
<Project Path="src/Fengling.ServiceDiscovery.Kubernetes/Fengling.ServiceDiscovery.Kubernetes.csproj" />
<Project Path="src/Fengling.ServiceDiscovery.Static/Fengling.ServiceDiscovery.Static.csproj" />
</Folder>
</Solution>

8
NuGet.Config Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
<add key="gitea" value="https://gitea.shtao1.cn/api/packages/fengling/nuget/index.json" />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
</packageSources>
</configuration>

View File

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<RootNamespace>Fengling.ServiceDiscovery.Consul</RootNamespace> <RootNamespace>Fengling.ServiceDiscovery.Consul</RootNamespace>

View File

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<RootNamespace>Fengling.ServiceDiscovery</RootNamespace> <RootNamespace>Fengling.ServiceDiscovery</RootNamespace>

View File

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<RootNamespace>Fengling.ServiceDiscovery.Kubernetes</RootNamespace> <RootNamespace>Fengling.ServiceDiscovery.Kubernetes</RootNamespace>

View File

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<RootNamespace>Fengling.ServiceDiscovery.Static</RootNamespace> <RootNamespace>Fengling.ServiceDiscovery.Static</RootNamespace>