From 6caaaaad5570926e0d7c25a7b2a256661c95e782 Mon Sep 17 00:00:00 2001 From: woksin Date: Thu, 30 Jul 2026 21:19:42 +0200 Subject: [PATCH 1/2] Ship Microsoft.CodeAnalysis.Workspaces with published builds The repository-wide Workspaces.Common reference carries PrivateAssets="All", inherited from the Chronicle extraction where it existed only to support the analyzers. That metadata still copies the assembly on build but excludes it from publish, so every shipped artifact - the dotnet tool package as much as the native Homebrew downloads - was missing Microsoft.CodeAnalysis.Workspaces while a developer machine had it. 'cratis screenplay generate' failed on the first assembly load and nothing in the repository could catch it. Screenplay made the assembly a genuine runtime dependency, so override the inherited default for this project. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01UNSXxJz2S2SxP3piPPVK4K --- Source/Cli/Cli.csproj | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Source/Cli/Cli.csproj b/Source/Cli/Cli.csproj index 6447a44..55c44fc 100644 --- a/Source/Cli/Cli.csproj +++ b/Source/Cli/Cli.csproj @@ -43,6 +43,13 @@ + + From 1b45054d7cbce07981bc7d278daf7c1a58ac73f0 Mon Sep 17 00:00:00 2001 From: woksin Date: Thu, 30 Jul 2026 21:19:59 +0200 Subject: [PATCH 2/2] Keep the Roslyn build host on disk in single-file publishes Roslyn evaluates MSBuild in a separate BuildHost process that it starts from real files in a BuildHost-netcore folder beside the executable. PublishSingleFile pulled those assemblies into the bundle, leaving the folder holding nothing runnable, so the native downloads failed with the build host missing as soon as the assembly it needed first was available to load. Self-extraction puts them back on disk at startup and keeps the single binary the release tarballs and the Homebrew formula are built around, so neither the publish workflow nor the formula has to change. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01UNSXxJz2S2SxP3piPPVK4K --- Source/Cli/Cli.csproj | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Source/Cli/Cli.csproj b/Source/Cli/Cli.csproj index 55c44fc..33ec078 100644 --- a/Source/Cli/Cli.csproj +++ b/Source/Cli/Cli.csproj @@ -18,6 +18,16 @@ $(DefineConstants);CRATIS_NATIVE + + + true + +