Skip to content

Commit 5f3ecb7

Browse files
committed
fix: align CLI COM settings with the shared trimmed runtime
1 parent 2c77c96 commit 5f3ecb7

2 files changed

Lines changed: 6 additions & 0 deletions

File tree

‎cli/Cli.csproj‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
88
<DefineConstants>$(DefineConstants);MODERN_DOTNET</DefineConstants>
99
<JsonSerializerIsReflectionEnabledByDefault>true</JsonSerializerIsReflectionEnabledByDefault>
10+
<BuiltInComInteropSupport>false</BuiltInComInteropSupport>
1011
</PropertyGroup>
1112
<ItemGroup>
1213
<Compile Include="Program.cs" />

‎tools/test_release_package.py‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"""Extract a platform ZIP and test its GUI entry point and CLI save editing."""
33

44
import argparse
5+
import json
56
import os
67
import plistlib
78
import subprocess
@@ -57,6 +58,10 @@ def main() -> None:
5758
if not mode & 0o111:
5859
raise ValueError(f"ZIP lost executable permission: {executable.name}")
5960
os.chmod(executable, mode)
61+
for config in extracted.rglob("*.runtimeconfig.json"):
62+
properties = json.loads(config.read_text(encoding="utf-8"))["runtimeOptions"]["configProperties"]
63+
if properties.get("System.Runtime.InteropServices.BuiltInComInterop.IsSupported", True):
64+
raise ValueError(f"Shared trimmed runtime requires COM interop to be disabled: {config.name}")
6065
for executable in (gui, cli):
6166
if not executable.is_file():
6267
raise ValueError(f"Release entry point is missing: {executable}")

0 commit comments

Comments
 (0)