📄
src/NotesApp.csproj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0-android</TargetFramework>
<SupportedOSPlatformVersion>24</SupportedOSPlatformVersion>
<OutputType>Exe</OutputType>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<ApplicationId>NotesApp</ApplicationId>
<ApplicationVersion>1</ApplicationVersion>
<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
<TrimMode>full</TrimMode>
<!-- IL2104 fires because YamlDotNet's own IL has unannotated reflection patterns, but
RootMode="all" below already keeps every member of that assembly - nothing it
reflects over gets removed, so the warning has no runtime consequence here. -->
<NoWarn>$(NoWarn);IL2104</NoWarn>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Markdig" />
<PackageReference Include="Microsoft.Identity.Client" />
<PackageReference Include="Microsoft.Graph" />
<PackageReference Include="Microsoft.Graph.Core" />
<PackageReference Include="Xamarin.AndroidX.Core" />
<PackageReference Include="Xamarin.AndroidX.Browser" />
<PackageReference Include="Xamarin.AndroidX.RecyclerView" />
<PackageReference Include="Xamarin.Google.Android.Material" />
<PackageReference Include="Xamarin.AndroidX.AppCompat" />
<PackageReference Include="YamlDotNet" />
</ItemGroup>
<ItemGroup>
<!-- YamlDotNet's Dictionary<string, object> (de)serialization relies on runtime reflection
over arbitrary types (property/method discovery, scalar resolution) with no
trim-safety annotations, so TrimMode=full can strip members it needs at runtime.
Exempt just this assembly rather than risk a hard-to-reproduce runtime failure. -->
<TrimmerRootAssembly Include="YamlDotNet" RootMode="all" />
</ItemGroup>
</Project>