xamarin-macios/tests/dotnet
Haritha Mohan 3dff232920
[dotnet] Enable generation of runtime configuration file (#17840)
Set the GenerateRuntimeConfigurationFiles (GRCF) property to true 
to avoid warnings at build time + add test for change.

Diving deeper into the fix...
- This warning only occurs with .NET apps which is why GRCF
is only updated in the dotnet directory and not msbuild (legacy)
- After examining the binlog (see issue), it was found that the GRCF 
was contingent upon the HasRuntimeOutput property, which is only 
defined for executable projects. And in this case, the user's project
output type is library thus both the RuntimeOutput and consequently 
GRCF properties were not enabled.
- By setting the GRCF to true we can address the original warning of 
concern while ensuring the rest of the projects's behavior is not
altered
in mysterious ways (i.e. by touching the RuntimeOutput property or the 
project output type instead, these changes could have extraneous
effects).

Fixes #17543

---------

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2023-03-23 08:10:04 -07:00
..
AdditionalAppExtensionConsumer [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
AppWithGenericLibraryReference [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
AppWithNativeDynamicLibrariesInPackageReference Fix libs reidentification deployed in a subdirectory (#16706) 2022-12-16 09:17:01 +01:00
AppWithResources [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
AppWithWinExeOutputType [msbuild] Validate OutputType property (#16871) 2022-12-22 07:36:04 +01:00
AppWithXCAssets [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
AutoDetectEntitlements [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
BindingOldStyle [tests] Convert spaces to tabs in numerous test projects. (#15855) 2022-09-05 10:54:33 +02:00
BindingWithDefaultCompileInclude [tests] Convert spaces to tabs in numerous test projects. (#15855) 2022-09-05 10:54:33 +02:00
BindingWithUncompressedResourceBundle [dotnet/msbuild] Copy binding resource packages to output directories together with CopyLocal assemblies. Fixes #13910. (#17806) 2023-03-22 10:49:26 +01:00
BundleStructure [dotnet] Add support for .so files (#16887) 2023-02-03 09:16:40 +01:00
CatalystAppOptimizedForMacOS [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
CentralPackageVersionsApp [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
CustomizedCodeSigning [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
Entitlements [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
ExtensionConsumer [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
ExtensionProject [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
LibraryReferencingBindingLibrary [dotnet/msbuild] Copy binding resource packages to output directories together with CopyLocal assemblies. Fixes #13910. (#17806) 2023-03-22 10:49:26 +01:00
MyCatalystApp [dotnet] Create an MSBuild property for the current min OS version. (#17034) 2023-01-10 21:18:39 +01:00
MyClassLibrary [tests] Convert spaces to tabs in numerous test projects. (#15855) 2022-09-05 10:54:33 +02:00
MyCocoaApp [dotnet] Create an MSBuild property for the current min OS version. (#17034) 2023-01-10 21:18:39 +01:00
MyInterpretedApp [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
MyPartialAppManifestApp [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
MyRegistrarApp [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
MySatelliteAssembliesLibrary [tests] Convert spaces to tabs in numerous test projects. (#15855) 2022-09-05 10:54:33 +02:00
MySimpleApp [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
MySimpleAppWithSatelliteReference [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
MySingleView [dotnet] Create an MSBuild property for the current min OS version. (#17034) 2023-01-10 21:18:39 +01:00
MyTVApp [dotnet] Create an MSBuild property for the current min OS version. (#17034) 2023-01-10 21:18:39 +01:00
NativeDynamicLibraryReferencesApp [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
NativeFileReferencesApp [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
NativeFrameworkReferencesApp [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
NativeXCFrameworkReferencesApp [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
Net6_0SimpleApp [tests] Hardcode the SupportedOSPlatformVersion for the .NET 6 tests. (#17248) 2023-01-17 17:09:47 +01:00
SimpleAppWithOldReferences [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
UnitTests [dotnet] Enable generation of runtime configuration file (#17840) 2023-03-23 08:10:04 -07:00
WidgetConsumer [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
WidgetExtension [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
Windows [devops] Run .NET tests with the 'Windows' category on Windows (#17796) 2023-03-22 07:49:03 +01:00
size-comparison [dotnet] Create an MSBuild property for the current min OS version. (#17034) 2023-01-10 21:18:39 +01:00
.gitignore Make our local .NET the default .NET for the build. (#15086) 2022-06-07 10:11:02 +02:00
Makefile Make our local .NET the default .NET for the build. (#15086) 2022-06-07 10:11:02 +02:00
README.md [appcompare] Remove old/local copy of the tool and update comparison documentation (#14190) 2022-02-18 13:04:28 +01:00

README.md

.net tests

size-comparison

To install the latest appcompare tool do:

$ dotnet tool install --global appcompare

You can update it to the latest version by running:

$ dotnet tool update --global appcompare

The current directory might point to a different and incompatible dotnet SDK, resulting in an error. However running the command from a different location (outside the repo) should work.

Easier Analysis

If you want to read/compare the IL inside the assemblies you need to disable IL stripping.

  • Legacy (oldnet)

Add this option inside the Release|iPhone configuration of size-comparison/MySingleView/oldnet/MySingleView.csproj

<MtouchExtraArgs>--nostrip</MtouchExtraArgs>
  • net6

Build with /p:EnableAssemblyILStripping=false set. The MtouchExtraArgs legacy option is also honored.