节点在线、应用在线、配置在线使用令牌查询
大石头 authored at 2021-12-16 19:49:30
5.10 KiB
Stardust
<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net10.0</TargetFramework>
    <AssemblyName>StarWebApi</AssemblyName>
    <RootNamespace>Stardust.Web</RootNamespace>
    <AssemblyTitle>星尘管理平台 API</AssemblyTitle>
    <Description>星尘分布式服务平台的解耦 WebApi 后端。复用 Stardust.Web 的区域控制器与业务服务,仅暴露 JSON 接口(EntityController 的 GetPage/GetFields/Insert/Update/Delete 及自定义 Action),剥离 Razor 视图、MCP 与静态站点,供 Stardust.Web.Vue 前端直接对接。</Description>
    <Company>新生命开发团队</Company>
    <Copyright>©2002-2026 NewLife</Copyright>
    <VersionPrefix>3.7</VersionPrefix>
    <VersionSuffix>$([System.DateTime]::Now.ToString(`yyyy.MMdd`))</VersionSuffix>
    <Version>$(VersionPrefix).$(VersionSuffix)</Version>
    <FileVersion>$(Version)</FileVersion>
    <AssemblyVersion>$(VersionPrefix).*</AssemblyVersion>
    <Deterministic>false</Deterministic>
    <OutputPath>..\Bin\WebApi</OutputPath>
    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
    <ImplicitUsings>enable</ImplicitUsings>
    <LangVersion>latest</LangVersion>
    <NoWarn>1701;1702;NU5104;NETSDK1138;CS7035;CS4014;CS8632;CS9113</NoWarn>
    <!-- 与 Stardust/StarAgent 等主工程一致,用仓库统一的 newlife.snk 强名称签名 -->
    <SignAssembly>True</SignAssembly>
    <AssemblyOriginatorKeyFile>..\Doc\newlife.snk</AssemblyOriginatorKeyFile>
  </PropertyGroup>

  <!-- 与 Web 一致:通过 Compile Include 引用 Stardust.Server 的服务源码,不复制文件 -->
  <ItemGroup>
    <Compile Include="..\Stardust.Server\Services\ApolloService.cs" Link="Services\ApolloService.cs" />
    <Compile Include="..\Stardust.Server\Services\AppDayStatService.cs" Link="Services\AppDayStatService.cs" />
    <Compile Include="..\Stardust.Server\Services\AppOnlineService.cs" Link="AppOnlineService.cs" />
    <Compile Include="..\Stardust.Server\Services\AppTokenService.cs" Link="Services\AppTokenService.cs" />
    <Compile Include="..\Stardust.Server\Services\ConfigService.cs" Link="Services\ConfigService.cs" />
    <Compile Include="..\Stardust.Server\Services\FileStorageService.cs" Link="Services\FileStorageService.cs" />
    <Compile Include="..\Stardust.Server\Services\MySqlService.cs" Link="Services\MySqlService.cs" />
    <Compile Include="..\Stardust.Server\Services\NodeStatService.cs" Link="Services\NodeStatService.cs" />
    <Compile Include="..\Stardust.Server\Services\RedisService.cs" Link="Services\RedisService.cs" />
    <Compile Include="..\Stardust.Server\Services\TraceItemStatService.cs" Link="Services\TraceItemStatService.cs" />
    <Compile Include="..\Stardust.Server\Services\TraceStatService.cs" Link="Services\TraceStatService.cs" />
    <Compile Include="..\Stardust.Server\Services\DnsProviderFactory.cs" Link="Services\DnsProviderFactory.cs" />
    <Compile Include="..\Stardust.Server\Services\DnsService.cs" Link="Services\DnsService.cs" />
    <Compile Include="..\Stardust.Server\Setting.cs" Link="Setting.cs" />
  </ItemGroup>

  <!-- 纯 API 后端:通过 ProjectReference 引用本地 NewLife.Cube(API版),不再链接 Stardust.Web 源码 -->
  <ItemGroup>
    <PackageReference Include="NewLife.IP" Version="2.5.2026.804" />
    <PackageReference Include="NewLife.Redis" Version="6.6.2026.801" />
    <PackageReference Include="NewLife.Remoting.Extensions" Version="3.9.2026.801" />
  </ItemGroup>

  <ItemGroup>
    <!-- 本地 NewLife.Cube(API版),复用其 EntityController/ApiResponse/AuthController 等纯 API 能力 -->
    <ProjectReference Include="..\Cube\NewLife.Cube\NewLife.Cube.csproj" />
    <!-- 魔方 Swagger/Scalar 依赖的 OpenAPI 文档生成(AddCubeSwagger) -->
    <ProjectReference Include="..\Cube\NewLife.Cube.Swagger\NewLife.Cube.Swagger.csproj" />
    <ProjectReference Include="..\Stardust.Data\Stardust.Data.csproj" />
    <ProjectReference Include="..\Stardust.Extensions\Stardust.Extensions.csproj" />
    <ProjectReference Include="..\Stardust\Stardust.csproj" />
  </ItemGroup>

  <!-- Program.cs 为顶级语句,隐式 Program 类是 internal 的,集成测试工程需可见才能用 WebApplicationFactory<Program>。
       本工程现已与仓库统一用 newlife.snk 强名称签名,故 InternalsVisibleTo 必须带 Key=(friend 程序集 Stardust.WebApiTests 亦签名)。
       公钥 blob 与 Cube/NewLife.Cube/NewLife.Cube.csproj 的 InternalsVisibleTo 一致。 -->
  <ItemGroup>
    <InternalsVisibleTo Include="Stardust.WebApiTests" Key="00240000048000001401000006020000002400005253413100080000010001000d41eb3bdab5c2150958b46c95632b7e4dcb0af77ed8637bd8543875bc2443d01273143bb46655a48a92efa76251adc63ccca6d0e9cef2e0ce93e32b5043bea179a6c710981be4a71703a03e10960643f7df091f499cf60183ef0e4e4e2eebf26e25cea0eebf87c8a6d7f8130c283fc3f747cb90623f0aaa619825e3fcd82f267a0f4bfd26c9f2a6b5a62a6b180b4f6d1d091fce6bd60a9aa9aa5b815b833b44e0f2e58b28a354cb20f52f31bb3b3a7c54f515426537e41f9c20c07e51f9cab8abc311daac19a41bd473a51c7386f014edf1863901a5c29addc89da2f2659c9c1e95affd6997396b9680e317c493e974a813186da277ff9c1d1b30e33cb5a2f6" />
  </ItemGroup>

</Project>