PromptPlus

|Adr-Plus Fields|Values Migrated | |–|–| |ADR|Conditional ConsolePlus reference for tests| |Version|01| |Revision|01| |Scope|| |Domain|| |Created|Proposed (2026-07-22)| |Changed|Accepted (2026-07-22)| |Superseded||

PromptPlus # PromptPlus ## **ADR0019V01R01** [![NuGet](https://img.shields.io/badge/NuGet-PromptPlus-blue)](https://www.nuget.org/packages/PromptPlus) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![.NET](https://img.shields.io/badge/.NET-8%20%7C%209%20%7C%2010-512BD4)](https://dotnet.microsoft.com/)

↑ ADR Index


ADR0019V01R01 — Conditional ConsolePlus reference for tests

Context

PromptPlus/src/PromptPlus.csproj:69 references ConsolePlus via a PackageReference (published NuGet), not a ProjectReference. This would break the planned InternalsVisibleTo for PromptPlus.Tests, because the resolved assembly would be the published package, not the local build of ConsolePlus/src.

Decision

Use a Configuration-conditional reference in PromptPlus/src/PromptPlus.csproj:

This follows a pattern the .csproj already uses (the ItemGroup Condition="'$(Configuration)' == 'Release' ..." at line 62 for DefaultDocumentation), so it introduces no new mechanism.

<ItemGroup Condition="'$(Configuration)' != 'Debug'">
  <PackageReference Include="ConsolePlus.net" Version="0.5.2-Beta" />
</ItemGroup>
<ItemGroup Condition="'$(Configuration)' == 'Debug'">
  <ProjectReference Include="..\..\ConsolePlus\src\ConsolePlus.csproj" />
</ItemGroup>

Consequences