Files
nucleic-windows/NucleicBroker/NucleicBroker.csproj
T

39 lines
1.9 KiB
XML
Raw Normal View History

2026-07-27 22:02:34 -07:00
<Project Sdk="Microsoft.NET.Sdk">
<!-- nucleic-brokerd (docs/WINDOWS_PORT.md §2.3, §3.3): the C# child process of
nucleic-hostd that owns every Microsoft.WSL.Containers (wslc) call, exposed to Swift
as NDJSON JSON-RPC 2.0 over stdio.
The wslc WinRT surface is isolated behind IWslc, and the REAL facade is compiled only
when -p:UseWslc=true (a Windows machine with the preview NuGet reachable): the API is
public preview with breaking changes expected, and the M1 spike validates it. Every
other build — Linux CI, the fake-backed unit tests — compiles the portable core plus
an "unavailable" facade, so broker logic and RPC surface are testable everywhere. -->
<PropertyGroup>
<OutputType>Exe</OutputType>
<AssemblyName>nucleic-brokerd</AssemblyName>
<RootNamespace>NucleicBroker</RootNamespace>
</PropertyGroup>
<PropertyGroup Condition="'$(UseWslc)' == 'true'">
<!-- Windows SDK 19041, matching the package's own lib TFM
(lib/net8.0-windows10.0.19041.0/wslcsdkcs.dll). Targeting a higher SDK revision
(26100) only adds a targeting-pack requirement the package does not need. -->
<TargetFramework>net9.0-windows10.0.19041.0</TargetFramework>
2026-07-27 22:02:34 -07:00
<DefineConstants>$(DefineConstants);USE_WSLC</DefineConstants>
</PropertyGroup>
<ItemGroup Condition="'$(UseWslc)' != 'true'">
<Compile Remove="Wslc/**/*.cs" />
</ItemGroup>
<ItemGroup Condition="'$(UseWslc)' == 'true'">
<!-- Version-pinned (docs/WINDOWS_PORT.md §15): bump deliberately per release, never
float — the API is preview and breaking changes must be absorbed behind IWslc.
2.9.3 is the ONLY version on nuget.org and it tracks WSL's own version scheme, not
a `0.1.0-preview.N` one; the invented pin this replaced could never have restored. -->
<PackageReference Include="Microsoft.WSL.Containers" Version="[2.9.3]" />
2026-07-27 22:02:34 -07:00
</ItemGroup>
</Project>