In https://github.com/dotnet/runtime/pull/79011 @tlakollo discovered that the ILLink analyzer testcase generator was generating extra testcases in dotnet/runtime, compared to linker. It turned out that in dotnet/linker, testcases with non-public Main methods were not getting generated, because the generator was getting a reference assembly for Mono.Linker.Tests.Cases.dll (which doesn't contain the non-public entry point), whereas dotnet/runtime has ref assembly generation turned off (so the analyzer was correctly discovering testcases based on the implementation assembly).
This fixes the issue by turning off ref assembly generation for all projects except those specifically designed to be ref assemblies.
In https://github.com/dotnet/runtime/pull/79011 @tlakollo discovered that the ILLink analyzer testcase generator was generating extra testcases in dotnet/runtime, compared to linker. It turned out that in dotnet/linker, testcases with non-public Main methods were not getting generated, because the generator was getting a reference assembly for Mono.Linker.Tests.Cases.dll (which doesn't contain the non-public entry point), whereas dotnet/runtime has ref assembly generation turned off (so the analyzer was correctly discovering testcases based on the implementation assembly).
This fixes the issue by turning off ref assembly generation for all projects except those specifically designed to be ref assemblies.
The CompilerGeneratedCodeSubstitutions is disabled as in https://github.com/dotnet/runtime/pull/79011.