Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
af34218
[R2R] Support multiple R2R modules with per-module frameworks
jkoritzinsky Apr 2, 2026
f2445b2
Add FrameworkName metadata for R2R post-processing
rolfbjarne Apr 3, 2026
1e817d0
Update sizes
rolfbjarne Apr 3, 2026
a926910
Merge remote-tracking branch 'origin/net11.0' into dev/rolf/dev/jekor…
rolfbjarne Apr 6, 2026
df29933
[tests] Update expected sizes.
rolfbjarne Apr 6, 2026
955b20c
Address PR feedback: remove fallback, fix incremental builds, add val…
jkoritzinsky Apr 3, 2026
8cea1fd
Fix build failure and update expected sizes
jkoritzinsky Apr 3, 2026
96ec7b6
Use full dylib filename as R2R module name
jkoritzinsky Apr 6, 2026
a1aec4b
Update expected sizes
jkoritzinsky Apr 6, 2026
550f56d
Support Windows remote builds for R2R module registration
jkoritzinsky Apr 6, 2026
8fc736e
Merge remote-tracking branch 'origin/net11.0' into dev/rolf/dev/jekor…
rolfbjarne Apr 17, 2026
73c7a3d
Resolve R2R targets merge conflict
rolfbjarne Apr 17, 2026
8b222e9
[tests] Update expected sizes.
rolfbjarne Apr 17, 2026
db90212
Use R2RHeaderSymbolName instead of linker symbol aliasing
jkoritzinsky Apr 17, 2026
a62bf08
Merge remote-tracking branch 'origin/net11.0' into dev/rolf/dev/jekor…
rolfbjarne Apr 20, 2026
ed732d1
[tests] Update expected sizes.
rolfbjarne Apr 20, 2026
0450239
[dotnet] Fix R2R Mac Catalyst app builds
rolfbjarne Apr 20, 2026
0e10198
A few fixes for RTR header name.
rolfbjarne Apr 20, 2026
9868393
fix
rolfbjarne Apr 20, 2026
9f0ea22
[tests] Update expected sizes.
rolfbjarne Apr 20, 2026
f489474
Skip a few more targets in the outer build for universal apps.
rolfbjarne Apr 20, 2026
f814e36
Fix R2R symbol name mismatch and BundleStructureTest for multi-module…
jkoritzinsky Apr 20, 2026
9abe44a
Fix NullReferenceException in multi-RID macOS R2R builds
jkoritzinsky Apr 20, 2026
c8c5538
Fix R2R SanitizedName derivation to use .o filename instead of .dylib…
jkoritzinsky Apr 21, 2026
a3bd22b
[tests] Update expected sizes.
rolfbjarne Apr 21, 2026
d241823
Merge remote-tracking branch 'origin/net11.0' into dev/rolf/dev/jekor…
rolfbjarne Apr 21, 2026
75ad348
[tests] Update expected sizes.
rolfbjarne Apr 21, 2026
221afe7
Remove dependency that's causing a dependency loop
jkoritzinsky Apr 23, 2026
9730de3
Fix R2R target cycle and improve incrementality
jkoritzinsky Apr 23, 2026
db1ee7f
[tests] Update expected sizes.
rolfbjarne Apr 24, 2026
3a66d43
[tests] Update LinkedWithNativeLibraries expected frameworks for Core…
rolfbjarne Apr 24, 2026
0ece463
[tests] Update expected sizes for CoreCLR-R2R.
jkoritzinsky Apr 27, 2026
408c113
[tests] Update expected sizes.
rolfbjarne Apr 28, 2026
68c2767
Merge remote-tracking branch 'origin/net11.0' into dev/rolf/dev/jekor…
rolfbjarne Apr 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
390 changes: 198 additions & 192 deletions dotnet/targets/Microsoft.Sdk.R2R.targets

Large diffs are not rendered by default.

9 changes: 5 additions & 4 deletions dotnet/targets/Xamarin.Shared.Sdk.targets
Original file line number Diff line number Diff line change
Expand Up @@ -2669,19 +2669,20 @@ global using nfloat = global::System.Runtime.InteropServices.NFloat%3B
_CollectR2RFrameworksForPostProcessing;
</_CollectItemsForPostProcessingDependsOn>
</PropertyGroup>
<Target Name="_CollectR2RFrameworksForPostProcessing" DependsOnTargets="_ComputeFrameworksToCreate">
<Target Name="_CollectR2RFrameworksForPostProcessing" DependsOnTargets="_ComputeFrameworksToCreate;_PrepareR2RModules">
<ItemGroup>
<!-- Add CoreCLR runtime -->
<_PostProcessingItem
Include="@(_CreatedFrameworksFromDylibs->'$([System.IO.Path]::GetFileName($(AppBundleDir)))/$(_AppFrameworksRelativePath)%(Filename).framework/%(Filename)')">
<Kind>Framework</Kind>
<FrameworkName>%(Filename)</FrameworkName>
<DSymName>%(Filename).framework.dSYM</DSymName>
</_PostProcessingItem>
<!-- Add R2R composite -->
<!-- Add per-module R2R frameworks -->
<_PostProcessingItem
Include="$([System.IO.Path]::GetFileName('$(AppBundleDir)'))/$(_AppFrameworksRelativePath)$(_R2RFrameworkName).framework/$(_R2RFrameworkName)" Condition="'$(CreateR2RFramework)' == 'true'">
Include="@(_R2RModule->'$([System.IO.Path]::GetFileName($(AppBundleDir)))/$(_AppFrameworksRelativePath)%(FrameworkName).framework/%(FrameworkName)')" Condition="'$(CreateR2RFramework)' == 'true'">
<Kind>Framework</Kind>
<DSymName>$(_R2RFrameworkName).framework.dSYM</DSymName>
<DSymName>%(_R2RModule.FrameworkName).framework.dSYM</DSymName>
</_PostProcessingItem>
</ItemGroup>
</Target>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
using System.IO;
using System.Linq;
using System.Collections.Generic;
using System.Text;

using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;

using Xamarin.Messaging.Build.Client;

#nullable enable

namespace Xamarin.MacDev.Tasks {
public class GenerateR2RModuleRegistration : XamarinTask, ITaskCallback {

#region Inputs
[Required]
public ITaskItem [] R2RModules { get; set; } = [];

[Required]
public string OutputFile { get; set; } = "";
#endregion

public override bool Execute ()
{
if (ShouldExecuteRemotely ())
return ExecuteRemotely ();

var sb = new StringBuilder ();

sb.AppendLine ("#include \"xamarin/xamarin.h\"");
sb.AppendLine ();

foreach (var module in R2RModules) {
var symbolName = module.GetMetadata ("SymbolName");
if (string.IsNullOrEmpty (symbolName)) {
Log.LogError ("Missing '{0}' metadata on item '{1}'.", "SymbolName", module.ItemSpec);
continue;
}
sb.AppendLine ($"extern void* {symbolName};");
}

sb.AppendLine ();
sb.AppendLine ("static struct xamarin_r2r_module r2r_module_entries [] = {");

foreach (var module in R2RModules) {
var moduleName = module.GetMetadata ("ModuleName");
var symbolName = module.GetMetadata ("SymbolName");
if (string.IsNullOrEmpty (moduleName)) {
Log.LogError ("Missing '{0}' metadata on item '{1}'.", "ModuleName", module.ItemSpec);
continue;
}
if (string.IsNullOrEmpty (symbolName))
continue; // already reported above
var escapedModuleName = moduleName.Replace ("\\", "\\\\").Replace ("\"", "\\\"");
sb.AppendLine ($"\t{{ \"{escapedModuleName}\", &{symbolName} }},");
}
Comment thread
rolfbjarne marked this conversation as resolved.

sb.AppendLine ("};");
sb.AppendLine ();

sb.AppendLine ("__attribute__ ((constructor))");
sb.AppendLine ("static void xamarin_register_r2r_modules ()");
sb.AppendLine ("{");
sb.AppendLine ("\txamarin_r2r_modules = r2r_module_entries;");
sb.AppendLine ("\txamarin_r2r_module_count = sizeof (r2r_module_entries) / sizeof (r2r_module_entries [0]);");
sb.AppendLine ("}");

if (Log.HasLoggedErrors)
return false;

var content = sb.ToString ();
var outputDir = Path.GetDirectoryName (OutputFile);
if (!string.IsNullOrEmpty (outputDir))
Directory.CreateDirectory (outputDir);

if (!File.Exists (OutputFile) || File.ReadAllText (OutputFile) != content)
File.WriteAllText (OutputFile, content);

return !Log.HasLoggedErrors;
}

public bool ShouldCopyToBuildServer (ITaskItem item) => false;

public bool ShouldCreateOutputFile (ITaskItem item) => true;

public IEnumerable<ITaskItem> GetAdditionalItemsToBeCopied () => Enumerable.Empty<ITaskItem> ();
}
}
15 changes: 12 additions & 3 deletions runtime/runtime.m
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,8 @@

enum XamarinNativeLinkMode xamarin_libmono_native_link_mode = XamarinNativeLinkModeStaticObject;
const char **xamarin_runtime_libraries = NULL;
void *xamarin_rtr_header = NULL;
struct xamarin_r2r_module *xamarin_r2r_modules = NULL;
int xamarin_r2r_module_count = 0;

/* Callbacks */

Expand Down Expand Up @@ -2439,9 +2440,17 @@ -(struct NSObjectData*) xamarinGetNSObjectData;
if (!context || !data || !context->assembly_path || !context->owner_composite_name)
return false;

void* r2r_header = xamarin_rtr_header;
void* r2r_header = NULL;

for (int i = 0; i < xamarin_r2r_module_count; i++) {
if (strcmp (xamarin_r2r_modules [i].name, context->owner_composite_name) == 0) {
r2r_header = xamarin_r2r_modules [i].header;
break;
}
}

if (r2r_header == NULL)
xamarin_assertion_message ("Failed to find the RTR_HEADER symbol.");
return false;

Dl_info info;
if (dladdr (r2r_header, &info) == 0)
Expand Down
9 changes: 8 additions & 1 deletion runtime/xamarin/main.h
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,14 @@ extern bool xamarin_supports_dynamic_registration;
extern const char *xamarin_runtime_configuration_name;
extern enum XamarinNativeLinkMode xamarin_libmono_native_link_mode;
extern const char** xamarin_runtime_libraries;
extern void *xamarin_rtr_header;

struct xamarin_r2r_module {
const char *name;
void *header;
};

extern struct xamarin_r2r_module *xamarin_r2r_modules;
extern int xamarin_r2r_module_count;

typedef void (*xamarin_setup_callback) ();
typedef int (*xamarin_extension_main_callback) (int argc, char** argv);
Expand Down
2 changes: 1 addition & 1 deletion tests/dotnet/UnitTests/BundleStructureTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ internal static void CheckAppBundleContents (ApplePlatform platform, IEnumerable
// macOS bundle checks use '/'. Handle both when extracting the framework name.
var slashIdx = fwIdx > 0 ? v.LastIndexOfAny ([Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar], fwIdx - 1) : -1;
var frameworkName = v.Substring (slashIdx + 1, fwIdx - slashIdx - 1);
if (frameworkName.StartsWith ("lib", StringComparison.Ordinal) || frameworkName == "BundleStructure")
if (frameworkName.StartsWith ("lib", StringComparison.Ordinal) || frameworkName == "BundleStructure" || frameworkName.EndsWith (".r2r", StringComparison.Ordinal))
return true;
}
}
Expand Down
4 changes: 2 additions & 2 deletions tests/dotnet/UnitTests/ProjectTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3040,7 +3040,7 @@ public void AppendRuntimeIdentifierToOutputPath_DisableDirectoryBuildProps (Appl
"@rpath/libSystem.Native.framework/libSystem.Native",
"@rpath/libSystem.Net.Security.Native.framework/libSystem.Net.Security.Native",
"@rpath/libSystem.Security.Cryptography.Native.Apple.framework/libSystem.Security.Cryptography.Native.Apple",
"@rpath/MySimpleApp.framework/MySimpleApp",
"@rpath/MySimpleApp.r2r.framework/MySimpleApp.r2r",
];

static string [] coreclrFrameworks_tvOS = [
Expand All @@ -3051,7 +3051,7 @@ public void AppendRuntimeIdentifierToOutputPath_DisableDirectoryBuildProps (Appl
"@rpath/libSystem.IO.Compression.Native.framework/libSystem.IO.Compression.Native",
"@rpath/libSystem.Native.framework/libSystem.Native",
"@rpath/libSystem.Security.Cryptography.Native.Apple.framework/libSystem.Security.Cryptography.Native.Apple",
"@rpath/MySimpleApp.framework/MySimpleApp",
"@rpath/MySimpleApp.r2r.framework/MySimpleApp.r2r",
];

static string [] coreclrFrameworks_MacCatalyst = [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
AppBundleSize: 10,463,475 bytes (10,218.2 KB = 10.0 MB)
AppBundleSize: 10,464,199 bytes (10,218.9 KB = 10.0 MB)
# The following list of files and their sizes is just informational / for review, and isn't used in the test:
Contents/_CodeSignature/CodeResources: 4,951 bytes (4.8 KB = 0.0 MB)
Contents/Info.plist: 1,099 bytes (1.1 KB = 0.0 MB)
Contents/MacOS/SizeTestApp: 242,128 bytes (236.5 KB = 0.2 MB)
Contents/Info.plist: 1,119 bytes (1.1 KB = 0.0 MB)
Contents/MacOS/SizeTestApp: 242,320 bytes (236.6 KB = 0.2 MB)
Contents/MonoBundle/libcoreclr.dylib: 6,386,608 bytes (6,236.9 KB = 6.1 MB)
Contents/MonoBundle/libSystem.Globalization.Native.dylib: 110,432 bytes (107.8 KB = 0.1 MB)
Contents/MonoBundle/libSystem.IO.Compression.Native.dylib: 1,442,208 bytes (1,408.4 KB = 1.4 MB)
Contents/MonoBundle/libSystem.Native.dylib: 146,768 bytes (143.3 KB = 0.1 MB)
Contents/MonoBundle/libSystem.Net.Security.Native.dylib: 71,120 bytes (69.5 KB = 0.1 MB)
Contents/MonoBundle/libSystem.Security.Cryptography.Native.Apple.dylib: 204,768 bytes (200.0 KB = 0.2 MB)
Contents/MonoBundle/Microsoft.MacCatalyst.dll: 101,888 bytes (99.5 KB = 0.1 MB)
Contents/MonoBundle/Microsoft.MacCatalyst.dll: 102,400 bytes (100.0 KB = 0.1 MB)
Contents/MonoBundle/runtimeconfig.bin: 1,481 bytes (1.4 KB = 0.0 MB)
Contents/MonoBundle/SizeTestApp.dll: 7,680 bytes (7.5 KB = 0.0 MB)
Contents/MonoBundle/System.Collections.Immutable.dll: 14,848 bytes (14.5 KB = 0.0 MB)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
AppBundleSize: 19,324,509 bytes (18,871.6 KB = 18.4 MB)
AppBundleSize: 19,325,345 bytes (18,872.4 KB = 18.4 MB)
# The following list of files and their sizes is just informational / for review, and isn't used in the test:
Contents/_CodeSignature/CodeResources: 5,105 bytes (5.0 KB = 0.0 MB)
Contents/Info.plist: 1,099 bytes (1.1 KB = 0.0 MB)
Contents/MacOS/SizeTestApp: 242,176 bytes (236.5 KB = 0.2 MB)
Contents/Info.plist: 1,119 bytes (1.1 KB = 0.0 MB)
Contents/MacOS/SizeTestApp: 242,960 bytes (237.3 KB = 0.2 MB)
Contents/MonoBundle/libcoreclr.dylib: 6,386,608 bytes (6,236.9 KB = 6.1 MB)
Contents/MonoBundle/libSystem.Globalization.Native.dylib: 110,432 bytes (107.8 KB = 0.1 MB)
Contents/MonoBundle/libSystem.IO.Compression.Native.dylib: 1,442,208 bytes (1,408.4 KB = 1.4 MB)
Expand All @@ -12,7 +12,7 @@ Contents/MonoBundle/libSystem.Security.Cryptography.Native.Apple.dylib: 204,768
Contents/MonoBundle/Microsoft.MacCatalyst.dll: 101,888 bytes (99.5 KB = 0.1 MB)
Contents/MonoBundle/runtimeconfig.bin: 1,481 bytes (1.4 KB = 0.0 MB)
Contents/MonoBundle/SizeTestApp.dll: 7,680 bytes (7.5 KB = 0.0 MB)
Contents/MonoBundle/SizeTestApp.r2r.dylib: 8,847,008 bytes (8,639.7 KB = 8.4 MB)
Contents/MonoBundle/SizeTestApp.r2r.dylib: 8,847,040 bytes (8,639.7 KB = 8.4 MB)
Contents/MonoBundle/System.Collections.Immutable.dll: 13,824 bytes (13.5 KB = 0.0 MB)
Contents/MonoBundle/System.Diagnostics.StackTrace.dll: 7,680 bytes (7.5 KB = 0.0 MB)
Contents/MonoBundle/System.IO.Compression.dll: 22,016 bytes (21.5 KB = 0.0 MB)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
AppBundleSize: 5,814,166 bytes (5,677.9 KB = 5.5 MB)
AppBundleSize: 5,813,322 bytes (5,677.1 KB = 5.5 MB)
# The following list of files and their sizes is just informational / for review, and isn't used in the test:
Contents/_CodeSignature/CodeResources: 3,310 bytes (3.2 KB = 0.0 MB)
Contents/Info.plist: 1,099 bytes (1.1 KB = 0.0 MB)
Contents/MacOS/SizeTestApp: 4,569,408 bytes (4,462.3 KB = 4.4 MB)
Contents/Info.plist: 1,119 bytes (1.1 KB = 0.0 MB)
Contents/MacOS/SizeTestApp: 4,568,544 bytes (4,461.5 KB = 4.4 MB)
Contents/MonoBundle/Microsoft.MacCatalyst.dll: 157,696 bytes (154.0 KB = 0.2 MB)
Contents/MonoBundle/runtimeconfig.bin: 1,405 bytes (1.4 KB = 0.0 MB)
Contents/MonoBundle/SizeTestApp.dll: 7,680 bytes (7.5 KB = 0.0 MB)
Expand Down
6 changes: 3 additions & 3 deletions tests/dotnet/UnitTests/expected/MacCatalyst-MonoVM-size.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
AppBundleSize: 16,525,506 bytes (16,138.2 KB = 15.8 MB)
AppBundleSize: 16,524,646 bytes (16,137.3 KB = 15.8 MB)
# The following list of files and their sizes is just informational / for review, and isn't used in the test:
Contents/_CodeSignature/CodeResources: 4,134 bytes (4.0 KB = 0.0 MB)
Contents/Info.plist: 1,099 bytes (1.1 KB = 0.0 MB)
Contents/MacOS/SizeTestApp: 13,984,464 bytes (13,656.7 KB = 13.3 MB)
Contents/Info.plist: 1,119 bytes (1.1 KB = 0.0 MB)
Contents/MacOS/SizeTestApp: 13,983,584 bytes (13,655.8 KB = 13.3 MB)
Contents/MonoBundle/aot-instances.aotdata.arm64: 1,037,632 bytes (1,013.3 KB = 1.0 MB)
Contents/MonoBundle/Microsoft.MacCatalyst.aotdata.arm64: 35,976 bytes (35.1 KB = 0.0 MB)
Contents/MonoBundle/Microsoft.MacCatalyst.dll: 51,200 bytes (50.0 KB = 0.0 MB)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
AppBundleSize: 2,815,241 bytes (2,749.3 KB = 2.7 MB)
AppBundleSize: 2,815,261 bytes (2,749.3 KB = 2.7 MB)
# The following list of files and their sizes is just informational / for review, and isn't used in the test:
Contents/_CodeSignature/CodeResources: 2,358 bytes (2.3 KB = 0.0 MB)
Contents/Info.plist: 1,099 bytes (1.1 KB = 0.0 MB)
Contents/Info.plist: 1,119 bytes (1.1 KB = 0.0 MB)
Contents/MacOS/SizeTestApp: 2,809,968 bytes (2,744.1 KB = 2.7 MB)
Contents/MonoBundle/runtimeconfig.bin: 1,808 bytes (1.8 KB = 0.0 MB)
Contents/PkgInfo: 8 bytes (0.0 KB = 0.0 MB)
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
AppBundleSize: 246,986,938 bytes (241,198.2 KB = 235.5 MB)
AppBundleSize: 246,987,182 bytes (241,198.4 KB = 235.5 MB)
# The following list of files and their sizes is just informational / for review, and isn't used in the test:
Contents/_CodeSignature/CodeResources: 54,948 bytes (53.7 KB = 0.1 MB)
Contents/Info.plist: 730 bytes (0.7 KB = 0.0 MB)
Contents/MacOS/SizeTestApp: 7,963,952 bytes (7,777.3 KB = 7.6 MB)
Contents/Info.plist: 750 bytes (0.7 KB = 0.0 MB)
Contents/MacOS/SizeTestApp: 7,964,176 bytes (7,777.5 KB = 7.6 MB)
Contents/MonoBundle/.xamarin/osx-arm64/Microsoft.CSharp.dll: 884,224 bytes (863.5 KB = 0.8 MB)
Contents/MonoBundle/.xamarin/osx-arm64/Microsoft.Extensions.Caching.Abstractions.dll: 56,320 bytes (55.0 KB = 0.1 MB)
Contents/MonoBundle/.xamarin/osx-arm64/Microsoft.Extensions.Configuration.Abstractions.dll: 28,160 bytes (27.5 KB = 0.0 MB)
Expand Down
8 changes: 4 additions & 4 deletions tests/dotnet/UnitTests/expected/MacOSX-CoreCLR-R2R-size.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
AppBundleSize: 313,861,306 bytes (306,505.2 KB = 299.3 MB)
AppBundleSize: 313,862,062 bytes (306,505.9 KB = 299.3 MB)
# The following list of files and their sizes is just informational / for review, and isn't used in the test:
Contents/_CodeSignature/CodeResources: 54,948 bytes (53.7 KB = 0.1 MB)
Contents/Info.plist: 730 bytes (0.7 KB = 0.0 MB)
Contents/MacOS/SizeTestApp: 7,963,952 bytes (7,777.3 KB = 7.6 MB)
Contents/Info.plist: 750 bytes (0.7 KB = 0.0 MB)
Contents/MacOS/SizeTestApp: 7,964,176 bytes (7,777.5 KB = 7.6 MB)
Contents/MonoBundle/.xamarin/osx-arm64/Microsoft.CSharp.dll: 884,224 bytes (863.5 KB = 0.8 MB)
Contents/MonoBundle/.xamarin/osx-arm64/Microsoft.Extensions.Caching.Abstractions.dll: 56,320 bytes (55.0 KB = 0.1 MB)
Contents/MonoBundle/.xamarin/osx-arm64/Microsoft.Extensions.Configuration.Abstractions.dll: 28,160 bytes (27.5 KB = 0.0 MB)
Expand Down Expand Up @@ -116,7 +116,7 @@ Contents/MonoBundle/.xamarin/osx-x64/Microsoft.Extensions.Hosting.Abstractions.d
Contents/MonoBundle/.xamarin/osx-x64/Microsoft.Extensions.Logging.Abstractions.dll: 132,096 bytes (129.0 KB = 0.1 MB)
Contents/MonoBundle/.xamarin/osx-x64/Microsoft.Extensions.Options.dll: 118,272 bytes (115.5 KB = 0.1 MB)
Contents/MonoBundle/.xamarin/osx-x64/Microsoft.Extensions.Primitives.dll: 63,488 bytes (62.0 KB = 0.1 MB)
Contents/MonoBundle/.xamarin/osx-x64/Microsoft.macOS.dll: 64,387,584 bytes (62,878.5 KB = 61.4 MB)
Contents/MonoBundle/.xamarin/osx-x64/Microsoft.macOS.dll: 64,388,096 bytes (62,879.0 KB = 61.4 MB)
Contents/MonoBundle/.xamarin/osx-x64/Microsoft.VisualBasic.Core.dll: 1,155,072 bytes (1,128.0 KB = 1.1 MB)
Contents/MonoBundle/.xamarin/osx-x64/Microsoft.Win32.Registry.dll: 24,064 bytes (23.5 KB = 0.0 MB)
Contents/MonoBundle/.xamarin/osx-x64/SizeTestApp.dll: 9,728 bytes (9.5 KB = 0.0 MB)
Expand Down
4 changes: 2 additions & 2 deletions tests/dotnet/UnitTests/expected/MacOSX-NativeAOT-size.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
AppBundleSize: 6,087,693 bytes (5,945.0 KB = 5.8 MB)
AppBundleSize: 6,087,713 bytes (5,945.0 KB = 5.8 MB)
# The following list of files and their sizes is just informational / for review, and isn't used in the test:
Contents/_CodeSignature/CodeResources: 2,644 bytes (2.6 KB = 0.0 MB)
Contents/Info.plist: 730 bytes (0.7 KB = 0.0 MB)
Contents/Info.plist: 750 bytes (0.7 KB = 0.0 MB)
Contents/MacOS/SizeTestApp: 6,082,304 bytes (5,939.8 KB = 5.8 MB)
Contents/MonoBundle/runtimeconfig.bin: 1,766 bytes (1.7 KB = 0.0 MB)
Contents/PkgInfo: 8 bytes (0.0 KB = 0.0 MB)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
AppBundleSize: 9,187,098 bytes (8,971.8 KB = 8.8 MB)
AppBundleSize: 9,187,218 bytes (8,971.9 KB = 8.8 MB)
# The following list of files and their sizes is just informational / for review, and isn't used in the test:
_CodeSignature/CodeResources: 9,851 bytes (9.6 KB = 0.0 MB)
archived-expanded-entitlements.xcent: 384 bytes (0.4 KB = 0.0 MB)
Frameworks/libcoreclr.framework/_CodeSignature/CodeResources: 1,798 bytes (1.8 KB = 0.0 MB)
Frameworks/libcoreclr.framework/Info.plist: 789 bytes (0.8 KB = 0.0 MB)
Frameworks/libcoreclr.framework/Info.plist: 809 bytes (0.8 KB = 0.0 MB)
Frameworks/libcoreclr.framework/libcoreclr: 5,216,464 bytes (5,094.2 KB = 5.0 MB)
Frameworks/libSystem.Globalization.Native.framework/_CodeSignature/CodeResources: 1,798 bytes (1.8 KB = 0.0 MB)
Frameworks/libSystem.Globalization.Native.framework/Info.plist: 831 bytes (0.8 KB = 0.0 MB)
Frameworks/libSystem.Globalization.Native.framework/Info.plist: 851 bytes (0.8 KB = 0.0 MB)
Frameworks/libSystem.Globalization.Native.framework/libSystem.Globalization.Native: 109,776 bytes (107.2 KB = 0.1 MB)
Frameworks/libSystem.IO.Compression.Native.framework/_CodeSignature/CodeResources: 1,798 bytes (1.8 KB = 0.0 MB)
Frameworks/libSystem.IO.Compression.Native.framework/Info.plist: 833 bytes (0.8 KB = 0.0 MB)
Frameworks/libSystem.IO.Compression.Native.framework/Info.plist: 853 bytes (0.8 KB = 0.0 MB)
Frameworks/libSystem.IO.Compression.Native.framework/libSystem.IO.Compression.Native: 1,439,536 bytes (1,405.8 KB = 1.4 MB)
Frameworks/libSystem.Native.framework/_CodeSignature/CodeResources: 1,798 bytes (1.8 KB = 0.0 MB)
Frameworks/libSystem.Native.framework/Info.plist: 803 bytes (0.8 KB = 0.0 MB)
Frameworks/libSystem.Native.framework/Info.plist: 823 bytes (0.8 KB = 0.0 MB)
Frameworks/libSystem.Native.framework/libSystem.Native: 162,480 bytes (158.7 KB = 0.2 MB)
Frameworks/libSystem.Security.Cryptography.Native.Apple.framework/_CodeSignature/CodeResources: 1,798 bytes (1.8 KB = 0.0 MB)
Frameworks/libSystem.Security.Cryptography.Native.Apple.framework/Info.plist: 859 bytes (0.8 KB = 0.0 MB)
Frameworks/libSystem.Security.Cryptography.Native.Apple.framework/Info.plist: 879 bytes (0.9 KB = 0.0 MB)
Frameworks/libSystem.Security.Cryptography.Native.Apple.framework/libSystem.Security.Cryptography.Native.Apple: 195,232 bytes (190.7 KB = 0.2 MB)
Info.plist: 1,117 bytes (1.1 KB = 0.0 MB)
Info.plist: 1,137 bytes (1.1 KB = 0.0 MB)
Microsoft.tvOS.dll: 99,328 bytes (97.0 KB = 0.1 MB)
PkgInfo: 8 bytes (0.0 KB = 0.0 MB)
runtimeconfig.bin: 1,481 bytes (1.4 KB = 0.0 MB)
Expand Down
Loading
Loading