|
1 | 1 | <?xml version="1.0" encoding="UTF-8"?>
|
2 | 2 | <Project>
|
3 | 3 | <PropertyGroup>
|
4 |
| - <NetVersion>net8.0</NetVersion> |
5 |
| - <MauiPackageVersion>8.0.71</MauiPackageVersion> |
6 |
| - <LangVersion>latest</LangVersion> |
7 | 4 | <Nullable>enable</Nullable>
|
8 |
| - <ImplicitUsings>enable</ImplicitUsings> |
9 | 5 | <NoWarn>NETSDK1023</NoWarn>
|
10 |
| - <ProduceReferenceAssembly>true</ProduceReferenceAssembly> |
11 |
| - <SkipValidateMauiImplicitPackageReferences>true</SkipValidateMauiImplicitPackageReferences> |
12 |
| - <GenerateErrorForMissingTargetingPacks>false</GenerateErrorForMissingTargetingPacks> |
| 6 | + <NetVersion>net9.0</NetVersion> |
| 7 | + <LangVersion>preview</LangVersion> |
| 8 | + <ImplicitUsings>enable</ImplicitUsings> |
13 | 9 | <EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
|
| 10 | + <ProduceReferenceAssembly>true</ProduceReferenceAssembly> |
14 | 11 | <AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
|
| 12 | + <GenerateErrorForMissingTargetingPacks>false</GenerateErrorForMissingTargetingPacks> |
| 13 | + |
| 14 | + <!-- Prevent NuGet Package Vulnerabilities --> |
| 15 | + <NuGetAudit>enable</NuGetAudit> |
| 16 | + <NuGetAuditMode>all</NuGetAuditMode> |
| 17 | + |
| 18 | + <!-- MAUI Specific --> |
| 19 | + <MauiPackageVersion>9.0.21</MauiPackageVersion> |
| 20 | + <NextMauiPackageVersion>10.0.0</NextMauiPackageVersion> |
| 21 | + <MauiStrictXamlCompilation>true</MauiStrictXamlCompilation> |
| 22 | + <SkipValidateMauiImplicitPackageReferences>true</SkipValidateMauiImplicitPackageReferences> |
| 23 | + <MauiEnableXamlCBindingWithSourceCompilation>true</MauiEnableXamlCBindingWithSourceCompilation> |
15 | 24 |
|
16 | 25 | <!-- https://learn.microsoft.com/dotnet/core/deploying/native-aot/?tabs=net8plus%2Cwindows -->
|
17 | 26 | <StripSymbols>false</StripSymbols>
|
|
39 | 48 | CS1712: Type parameter has no matching typeparam tag in the XML comment
|
40 | 49 | CS1723: XML comment has cref attribute that refers to a type parameter
|
41 | 50 | CS1734: XML comment has a paramref tag, but there is no parameter by that name
|
42 |
| - |
43 |
| - xUnit1012: Null should not be used for type parameter |
44 |
| - xUnit2021: Assert.ThrowsAsync is async. The resulting task should be awaited |
45 |
| - |
46 |
| - IL2***: Trim Warnings |
47 |
| - |
48 |
| - IL3***: AOT Warnings |
49 |
| - |
| 51 | + MVMTK0042: The field [ObservableProperty] can be converted to a partial property |
| 52 | + CsWinRT1028: Class implements WinRT interfaces but isn't marked partial |
| 53 | + CsWinRT1030: Class implements WinRT interfaces that require unsafe code |
| 54 | + NU1900 Error communicating with package source, while getting vulnerability information. |
| 55 | + NU1901 Package with low severity detected |
| 56 | + NU1902 Package with moderate severity detected |
| 57 | + NU1903 Package with high severity detected |
| 58 | + NU1904 Package with critical severity detected |
| 59 | + NU1905 An audit source does not provide a vulnerability database |
| 60 | + xUnit1000: Test classes must be public |
| 61 | + xUnit1001: Fact methods cannot have parameters |
| 62 | + xUnit1002: Test methods cannot have multiple Fact or Theory attributes |
| 63 | + xUnit1003: Theory methods must have test data |
| 64 | + xUnit1004: Test methods should not be skipped |
| 65 | + xUnit1005: Fact methods should not have test data |
| 66 | + xUnit1006: Theory methods should have parameters |
| 67 | + xUnit1007: ClassData must point at a valid class |
| 68 | + xUnit1008: Test data attribute should only be used on a Theory |
| 69 | + xUnit1009: InlineData values must match the number of method parameters |
| 70 | + xUnit1010: The value is not convertible to the method parameter type |
| 71 | + xUnit1011: There is no matching method parameter |
| 72 | + xUnit1012: Null should not be used for value type parameters |
| 73 | + xUnit1013: Public method should be marked as test |
| 74 | + xUnit1014: MemberData should use nameof operator for member name |
| 75 | + xUnit1015: MemberData must reference an existing member |
| 76 | + xUnit1016: MemberData must reference a public member |
| 77 | + xUnit1017: MemberData must reference a static member |
| 78 | + xUnit1018: MemberData must reference a valid member kind |
| 79 | + xUnit1019: MemberData must reference a member providing a valid data type |
| 80 | + xUnit1020: MemberData must reference a property with a getter |
| 81 | + xUnit1021: MemberData should not have parameters if the referenced member is not a method |
| 82 | + xUnit1022: Theory methods cannot have a parameter array |
| 83 | + xUnit1023: Theory methods cannot have default parameter values |
| 84 | + xUnit1024: Test methods cannot have overloads |
| 85 | + xUnit1025: InlineData should be unique within the Theory it belongs to |
| 86 | + xUnit1026: Theory methods should use all of their parameters |
| 87 | + xUnit1027: Collection definition classes must be public |
| 88 | + xUnit1028: Test method must have valid return type |
| 89 | + xUnit1029: Local functions cannot be test functions |
| 90 | + xUnit1030: Do not call ConfigureAwait in test method |
| 91 | + xUnit1031: Do not use blocking task operations in test method |
| 92 | + xUnit1032: Test classes cannot be nested within a generic class |
| 93 | + xUnit1033: Test classes decorated with 'Xunit.IClassFixture' or 'Xunit.ICollectionFixture' should add a constructor argument of type TFixture |
| 94 | + xUnit1034: Null should only be used for nullable parameters |
| 95 | + xUnit1035: The value is not convertible to the method parameter type |
| 96 | + xUnit1036: There is no matching method parameter |
| 97 | + xUnit1037: There are fewer theory data type arguments than required by the parameters of the test method |
| 98 | + xUnit1038: There are more theory data type arguments than allowed by the parameters of the test method |
| 99 | + xUnit1039: The type argument to theory data is not compatible with the type of the corresponding test method parameter |
| 100 | + xUnit1040: The type argument to theory data is nullable, while the type of the corresponding test method parameter is not |
| 101 | + xUnit1041: Fixture arguments to test classes must have fixture sources |
| 102 | + xUnit1042: The member referenced by the MemberData attribute returns untyped data rows |
| 103 | + xUnit1043: Constructors on classes derived from FactAttribute must be public when used on test methods |
| 104 | + xUnit1048: Avoid using 'async void' for test methods as it is deprecated in xUnit.net v3 |
| 105 | + xUnit1049: Do not use 'async void' for test methods as it is no longer supported |
| 106 | + xUnit1050: The class referenced by the ClassData attribute returns untyped data rows |
| 107 | + xUnit1051: Calls to methods which accept CancellationToken should use TestContext.Current.CancellationToken |
| 108 | + xUnit2000: Constants and literals should be the expected argument |
| 109 | + xUnit2001: Do not use invalid equality check |
| 110 | + xUnit2002: Do not use null check on value type |
| 111 | + xUnit2003: Do not use equality check to test for null value |
| 112 | + xUnit2004: Do not use equality check to test for boolean conditions |
| 113 | + xUnit2005: Do not use identity check on value type |
| 114 | + xUnit2006: Do not use invalid string equality check |
| 115 | + xUnit2007: Do not use typeof expression to check the type |
| 116 | + xUnit2008: Do not use boolean check to match on regular expressions |
| 117 | + xUnit2009: Do not use boolean check to check for substrings |
| 118 | + xUnit2010: Do not use boolean check to check for string equality |
| 119 | + xUnit2011: Do not use empty collection check |
| 120 | + xUnit2012: Do not use Enumerable.Any() to check if a value exists in a collection |
| 121 | + xUnit2013: Do not use equality check to check for collection size. |
| 122 | + xUnit2014: Do not use throws check to check for asynchronously thrown exception |
| 123 | + xUnit2015: Do not use typeof expression to check the exception type |
| 124 | + xUnit2016: Keep precision in the allowed range when asserting equality of doubles or decimals. |
| 125 | + xUnit2017: Do not use Contains() to check if a value exists in a collection |
| 126 | + xUnit2018: Do not compare an object's exact type to an abstract class or interface |
| 127 | + xUnit2019: Do not use obsolete throws check to check for asynchronously thrown exception |
| 128 | + xUnit2020: Do not use always-failing boolean assertion to fail a test |
| 129 | + xUnit2021: Async assertions should be awaited |
| 130 | + xUnit2022: Boolean assertions should not be negated |
| 131 | + xUnit2023: Do not use collection methods for single-item collections |
| 132 | + xUnit2024: Do not use boolean asserts for simple equality tests |
| 133 | + xUnit2025: The boolean assertion statement can be simplified |
| 134 | + xUnit2026: Comparison of sets must be done with IEqualityComparer |
| 135 | + xUnit2027: Comparison of sets to linear containers have undefined results |
| 136 | + xUnit2028: Do not use Assert.Empty or Assert.NotEmpty with problematic types |
| 137 | + xUnit2029: Do not use Assert.Empty to check if a value does not exist in a collection |
| 138 | + xUnit2030: Do not use Assert.NotEmpty to check if a value exists in a collection |
| 139 | + xUnit2031: Do not use Where clause with Assert.Single |
| 140 | + xUnit2032: Type assertions based on 'assignable from' are confusingly named |
| 141 | + xUnit3000: Classes which cross AppDomain boundaries must derive directly or indirectly from LongLivedMarshalByRefObject |
| 142 | + xUnit3001: Classes that are marked as serializable (or created by the test framework at runtime) must have a public parameterless constructor |
| 143 | + xUnit3002: Classes which are JSON serializable should not be tested for their concrete type |
| 144 | + XC0045: Binding: Property not found |
| 145 | + XC0103: Consider attributing the markup extension with [RequireService] or [AcceptEmptyServiceProvider] if it doesn't require any |
| 146 | + IL2***: Trim Warnings |
| 147 | + IL3***: AOT Warnings |
50 | 148 | RS2007: Analyzer release file 'AnalyzerReleases.Shipped.md' has a missing or invalid release header-->
|
51 |
| - <WarningsAsErrors>nullable, |
52 |
| - CS0419,CS1570,CS1571,CS1572,CS1573,CS1574,CS1580,CS1581,CS1584,CS1587,CS1589,CS1590,CS1591,CS1592,CS1598,CS1658,CS1710,CS1711,CS1712,CS1723,CS1734, |
53 |
| - xUnit1012,xUnit2021, |
54 |
| - IL2001,IL2002,IL2003,IL2004,IL2005,IL2006,IL2007,IL2008,IL2009, |
55 |
| - IL2010,IL2011,IL2012,IL2013,IL2014,IL2015,IL2016,IL2017,IL2018,IL2019, |
56 |
| - IL2020,IL2021,IL2022,IL2023,IL2024,IL2025,IL2026,IL2027,IL2028,IL2029, |
57 |
| - IL2030,IL2031,IL2032,IL2033,IL2034,IL2035,IL2036,IL2037,IL2038,IL2039, |
58 |
| - IL2040,IL2041,IL2042,IL2043,IL2044,IL2045,IL2046,IL2047,IL2048,IL2049, |
59 |
| - IL2050,IL2051,IL2052,IL2053,IL2054,IL2055,IL2056,IL2057,IL2058,IL2059, |
60 |
| - IL2060,IL2061,IL2062,IL2063,IL2064,IL2065,IL2066,IL2067,IL2068,IL2069, |
61 |
| - IL2070,IL2071,IL2072,IL2073,IL2074,IL2075,IL2076,IL2077,IL2078,IL2079, |
62 |
| - IL2080,IL2081,IL2082,IL2083,IL2084,IL2085,IL2086,IL2087,IL2088,IL2089, |
63 |
| - IL2090,IL2091,IL2092,IL2093,IL2094,IL2095,IL2096,IL2097,IL2098,IL2099, |
64 |
| - IL2100,IL2101,IL2102,IL2103,IL2104,IL2105,IL2106,IL2107,IL2108,IL2109, |
65 |
| - IL2110,IL2111,IL2112,IL2113,IL2114,IL2115,IL2116,IL2117,IL2118,IL2119, |
66 |
| - IL2120,IL2121,IL2122, |
67 |
| - IL3050,IL3051,IL3052,IL3053,IL3054,IL3055,IL3056, |
68 |
| - RS2007 |
69 |
| - </WarningsAsErrors> |
| 149 | + <WarningsAsErrors> |
| 150 | + nullable, |
| 151 | + CS0419,CS1570,CS1571,CS1572,CS1573,CS1574,CS1580,CS1581,CS1584,CS1587,CS1589,CS1590,CS1591,CS1592,CS1598,CS1658,CS1710,CS1711,CS1712,CS1723,CS1734, |
| 152 | + CsWinRT1028,CsWinRT1030, |
| 153 | + MVMTK0042, |
| 154 | + NU1900,NU1901,NU1902,NU1903,NU1904,NU1905, |
| 155 | + xUnit1000,xUnit1001,xUnit1002,xUnit1003,xUnit1004,xUnit1005,xUnit1006,xUnit1007,xUnit1008,xUnit1009,xUnit1010,xUnit1011,xUnit1012,xUnit1013,xUnit1014,xUnit1015,xUnit1016,xUnit1017,xUnit1018,xUnit1019,xUnit1020,xUnit1021,xUnit1022,xUnit1023,xUnit1024,xUnit1025,xUnit1026,xUnit1027,xUnit1028,xUnit1029,xUnit1030,xUnit1031,xUnit1032,xUnit1033,xUnit1034,xUnit1035,xUnit1036,xUnit1037,xUnit1038,xUnit1039,xUnit1040,xUnit1041,xUnit1042,xUnit1043,xUnit1048,xUnit1049,xUnit1050,xUnit1051, |
| 156 | + xUnit2000,xUnit2001,xUnit2002,xUnit2003,xUnit2004,xUnit2005,xUnit2006,xUnit2007,xUnit2008,xUnit2009,xUnit2010,xUnit2011,xUnit2012,xUnit2013,xUnit2014,xUnit2015,xUnit2016,xUnit2017,xUnit2018,xUnit2019,xUnit2020,xUnit2021,xUnit2022,xUnit2023,xUnit2024,xUnit2025,xUnit2026,xUnit2027,xUnit2028,xUnit2029,xUnit2030,xUnit2031,xUnit2032, |
| 157 | + xUnit3000,xUnit3001,xUnit3002, |
| 158 | + XC0045,XC0103, |
| 159 | + IL2001,IL2002,IL2003,IL2004,IL2005,IL2006,IL2007,IL2008,IL2009, |
| 160 | + IL2010,IL2011,IL2012,IL2013,IL2014,IL2015,IL2016,IL2017,IL2018,IL2019, |
| 161 | + IL2020,IL2021,IL2022,IL2023,IL2024,IL2025,IL2026,IL2027,IL2028,IL2029, |
| 162 | + IL2030,IL2031,IL2032,IL2033,IL2034,IL2035,IL2036,IL2037,IL2038,IL2039, |
| 163 | + IL2040,IL2041,IL2042,IL2043,IL2044,IL2045,IL2046,IL2047,IL2048,IL2049, |
| 164 | + IL2050,IL2051,IL2052,IL2053,IL2054,IL2055,IL2056,IL2057,IL2058,IL2059, |
| 165 | + IL2060,IL2061,IL2062,IL2063,IL2064,IL2065,IL2066,IL2067,IL2068,IL2069, |
| 166 | + IL2070,IL2071,IL2072,IL2073,IL2074,IL2075,IL2076,IL2077,IL2078,IL2079, |
| 167 | + IL2080,IL2081,IL2082,IL2083,IL2084,IL2085,IL2086,IL2087,IL2088,IL2089, |
| 168 | + IL2090,IL2091,IL2092,IL2093,IL2094,IL2095,IL2096,IL2097,IL2098,IL2099, |
| 169 | + IL2100,IL2101,IL2102,IL2103,IL2104,IL2105,IL2106,IL2107,IL2108,IL2109, |
| 170 | + IL2110,IL2111,IL2112,IL2113,IL2114,IL2115,IL2116,IL2117,IL2118,IL2119, |
| 171 | + IL2120,IL2121,IL2122, |
| 172 | + IL3050,IL3051,IL3052,IL3053,IL3054,IL3055,IL3056, |
| 173 | + RS2007 |
| 174 | + </WarningsAsErrors> |
| 175 | + </PropertyGroup> |
| 176 | + |
| 177 | + <!-- Required for NuGet Source Link --> |
| 178 | + <PropertyGroup Condition="'$(TF_BUILD)' == 'true' OR '$(GITHUB_ACTIONS)' == 'true'"> |
| 179 | + <!-- Ensure deterministic build when using Azure Pipelines or GitHub Actions--> |
| 180 | + <ContinuousIntegrationBuild>true</ContinuousIntegrationBuild> |
| 181 | + |
| 182 | + <!-- Publish the repository URL in the built .nupkg (in the NuSpec <Repository> element) --> |
| 183 | + <PublishRepositoryUrl>true</PublishRepositoryUrl> |
| 184 | + |
| 185 | + <!-- Embed source files that are not tracked by the source control manager in the PDB --> |
| 186 | + <EmbedUntrackedSources>true</EmbedUntrackedSources> |
| 187 | + |
| 188 | + <!-- Embed symbols containing Source Link in the main file (exe/dll) --> |
| 189 | + <DebugType>embedded</DebugType> |
70 | 190 | </PropertyGroup>
|
71 | 191 |
|
72 | 192 | <ItemGroup>
|
73 |
| - <InternalsVisibleTo Include="CommunityToolkit.Maui.UnitTests" /> |
| 193 | + <InternalsVisibleTo Include="CommunityToolkit.Maui.UnitTests"/> |
| 194 | + <InternalsVisibleTo Include="CommunityToolkit.Maui.Analyzers.UnitTests"/> |
74 | 195 | </ItemGroup>
|
75 |
| - <PropertyGroup Condition="'$(TF_BUILD)' == 'true' and $([MSBuild]::IsOSPlatform('windows')) == 'true'"> |
| 196 | + |
| 197 | + <PropertyGroup Condition="('$(TF_BUILD)' == 'true' OR '$(GITHUB_ACTIONS)' == 'true') and $([MSBuild]::IsOSPlatform('windows')) == 'true'"> |
76 | 198 | <IncludeTizenTargetFrameworks>true</IncludeTizenTargetFrameworks>
|
77 | 199 | </PropertyGroup>
|
78 | 200 | </Project>
|
0 commit comments