CultLib/tests/GameCult.Caching.GeneratorConsumer/GameCult.Caching.GeneratorConsumer.csproj
Libby 61307d2060 GeneratorConsumer: check the generated formatter behind the guard's wrapper (CultUnionGuard.Inner)
The check that each document type runs MessagePack's source-generated formatter saw the guard's
SlotFormatter and exited 1 (Soul s3 generator-consumer-check-red). The guard owns the one unwrap,
internal, visible to the consumer through InternalsVisibleTo; that also exposes the library's
internal GeneratedMessagePackResolver, so the consumer suppresses CS0436 (its own is the type used).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 02:19:28 +00:00

28 lines
1.1 KiB
XML

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<!-- GameCult.Caching.MessagePack lets this check see CultUnionGuard.Inner (InternalsVisibleTo), which also shows it that
assembly's internal GeneratedMessagePackResolver; this project's own generated one is the type in use. -->
<NoWarn>$(NoWarn);CS0436</NoWarn>
</PropertyGroup>
<PropertyGroup Condition="'$(Aot)' == 'true'">
<PublishAot>true</PublishAot>
<IsTrimmable>true</IsTrimmable>
<InvariantGlobalization>true</InvariantGlobalization>
</PropertyGroup>
<ItemGroup Condition="'$(Aot)' == 'true'">
<TrimmerRootAssembly Include="GameCult.Caching.GeneratorConsumer" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\GameCult.Caching.MessagePack\GameCult.Caching.MessagePack.csproj" />
<PackageReference Include="MessagePack" Version="3.1.7" />
</ItemGroup>
<Import Project="..\..\src\GameCult.Caching.MessagePack\buildTransitive\GameCult.Caching.MessagePack.targets" />
</Project>