<Project> <PropertyGroup> <TargetFramework>net9.0</TargetFramework> <Nullable>enable</Nullable> <WarningLevel>9999</WarningLevel> <ImplicitUsings>enable</ImplicitUsings> <DebugType>embedded</DebugType> <AnalysisMode>AllEnabledByDefault</AnalysisMode> <RepositoryRoot>$(MSBuildThisFileDirectory)</RepositoryRoot> <TestDirectory>$(RepositoryRoot)tests\</TestDirectory> <GitVersionBaseDirectory>$(RepositoryRoot)</GitVersionBaseDirectory> <!--<DisableGitVersionTask>true</DisableGitVersionTask>--> </PropertyGroup> <ItemGroup> <Using Include="JetBrains.Annotations" /> </ItemGroup> <!-- To prevent System.Reactive.xml (and other XML docs) from being in the publish dir. See: https://github.com/dotnet/reactive/issues/1066#issuecomment-548941146 --> <PropertyGroup Condition=" '$(Configuration)' == 'Release' "> <AllowedReferenceRelatedFileExtensions> </AllowedReferenceRelatedFileExtensions> </PropertyGroup> <!-- For only NON-TEST projects --> <ItemGroup Condition="!$(ProjectName.EndsWith('.Tests'))"> <InternalsVisibleTo Include="$(AssemblyName).Tests" /> </ItemGroup> <!-- ReferenceTrimmer - run build with /p:EnableReferenceTrimmer=true to enable --> <PropertyGroup Label="ReferenceTrimmer"> <EnableReferenceTrimmer Condition=" '$(EnableReferenceTrimmer)' == '' ">false</EnableReferenceTrimmer> </PropertyGroup> <PropertyGroup Condition=" '$(EnableReferenceTrimmer)' == 'true' and '$(GenerateDocumentationFile)' != 'true' " Label="ReferenceTrimmer"> <!-- Documentation file generation is required for more accurate C# detection. --> <GenerateDocumentationFile>true</GenerateDocumentationFile> <!-- Suppress XML doc comment issues to avoid errors during ReferenceTrimmer: - CS0419: Ambiguous reference in cref attribute - CS1570: XML comment has badly formed XML - CS1573: Parameter has no matching param tag in the XML comment - CS1574: XML comment has cref attribute that could not be resolved - CS1584: XML comment has syntactically incorrect cref attribute - CS1591: Missing XML comment for publicly visible type or member - SA1602: Enumeration items should be documented --> <NoWarn>$(NoWarn);419;1570;1573;1574;1584;1591;SA1602</NoWarn> </PropertyGroup> </Project>