Skip to content

Commit

Permalink
Merge pull request #1935 from jnyrup/csharp10
Browse files Browse the repository at this point in the history
Upgrade to C# 10
  • Loading branch information
jnyrup committed May 21, 2022
2 parents 4053cab + fb0a08f commit 4f2fc22
Show file tree
Hide file tree
Showing 10 changed files with 27 additions and 16 deletions.
7 changes: 7 additions & 0 deletions Directory.Build.props
@@ -0,0 +1,7 @@
<Project>
<PropertyGroup>
<LangVersion>10.0</LangVersion>
<CheckEolTargetFramework>false</CheckEolTargetFramework>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
</Project>
Expand Up @@ -771,12 +771,12 @@ public override string ToString()

foreach (Type valueType in valueTypes)
{
builder.AppendLine($"- Compare {valueType} by value");
builder.AppendLine(CultureInfo.InvariantCulture, $"- Compare {valueType} by value");
}

foreach (Type type in referenceTypes)
{
builder.AppendLine($"- Compare {type} by its members");
builder.AppendLine(CultureInfo.InvariantCulture, $"- Compare {type} by its members");
}

if (excludeNonBrowsableOnExpectation)
Expand Down
6 changes: 3 additions & 3 deletions Src/FluentAssertions/FluentAssertions.csproj
Expand Up @@ -6,8 +6,6 @@
<AssemblyOriginatorKeyFile>FluentAssertions.snk</AssemblyOriginatorKeyFile>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<NoWarn>1591;1573</NoWarn>
<CheckEolTargetFramework>false</CheckEolTargetFramework>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
<CodeAnalysisRuleSet>..\..\Rules.ruleset</CodeAnalysisRuleSet>
<AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
Expand All @@ -29,7 +27,6 @@
<PackageIcon>FluentAssertions.png</PackageIcon>
<PackageReleaseNotes>See https://fluentassertions.com/releases/</PackageReleaseNotes>
<Copyright>Copyright Dennis Doomen 2010-2020</Copyright>
<LangVersion>9.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)' != 'net6.0'">
<RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild>
Expand Down Expand Up @@ -65,6 +62,9 @@
<ItemGroup Condition=" !('$(TargetFramework)' == 'net47' Or '$(TargetFramework)' == 'netstandard2.0') ">
<Compile Remove="SystemExtensions.cs" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net6.0' ">
<Compile Remove="StringBuilderExtensions.cs" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net47' Or '$(TargetFramework)' == 'netcoreapp2.1' Or '$(TargetFramework)' == 'netcoreapp3.0' Or '$(TargetFramework)' == 'net6.0' ">
<Compile Remove="Common/NullConfigurationStore.cs" />
</ItemGroup>
Expand Down
14 changes: 14 additions & 0 deletions Src/FluentAssertions/StringBuilderExtensions.cs
@@ -0,0 +1,14 @@
namespace System.Text
{
/// <summary>
/// Since net6.0 StringBuilder has additional overloads taking an AppendInterpolatedStringHandler
/// and optionally an IFormatProvider.
/// The overload here is polyfill for older target frameworks to avoid littering the code base with #ifs
/// in order to silence analyzers about dependending on the current culture instead of an invariant culture.
/// </summary>
internal static class StringBuilderExtensions
{
public static StringBuilder AppendLine(this StringBuilder stringBuilder, IFormatProvider _, string value) =>
stringBuilder.AppendLine(value);
}
}
1 change: 0 additions & 1 deletion Tests/AssemblyA/AssemblyA.csproj
Expand Up @@ -4,7 +4,6 @@
<SignAssembly>True</SignAssembly>
<AssemblyOriginatorKeyFile>..\..\Src\FluentAssertions\FluentAssertions.snk</AssemblyOriginatorKeyFile>
<CodeAnalysisRuleSet>..\..\Rules.ruleset</CodeAnalysisRuleSet>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\AssemblyB\AssemblyB.csproj" />
Expand Down
1 change: 0 additions & 1 deletion Tests/AssemblyB/AssemblyB.csproj
Expand Up @@ -4,6 +4,5 @@
<SignAssembly>True</SignAssembly>
<AssemblyOriginatorKeyFile>..\..\Src\FluentAssertions\FluentAssertions.snk</AssemblyOriginatorKeyFile>
<CodeAnalysisRuleSet>..\..\Rules.ruleset</CodeAnalysisRuleSet>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
</Project>
1 change: 0 additions & 1 deletion Tests/Benchmarks/Benchmarks.csproj
@@ -1,7 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net6;net472</TargetFrameworks>
<LangVersion>9.0</LangVersion>
<SignAssembly>True</SignAssembly>
<AssemblyOriginatorKeyFile>..\..\Src\FluentAssertions\FluentAssertions.snk</AssemblyOriginatorKeyFile>
<OutputType>Exe</OutputType>
Expand Down
Expand Up @@ -3,14 +3,11 @@
<!-- To reduce build times, we only enable analyzers for the newest TFM -->
<PropertyGroup>
<TargetFrameworks>net47;net6.0;netcoreapp2.0;netcoreapp2.1;netcoreapp3.0</TargetFrameworks>
<LangVersion>9.0</LangVersion>
<SignAssembly>True</SignAssembly>
<AssemblyOriginatorKeyFile>..\..\Src\FluentAssertions\FluentAssertions.snk</AssemblyOriginatorKeyFile>
<IsPackable>false</IsPackable>
<CodeAnalysisRuleSet>..\..\TestRules.ruleset</CodeAnalysisRuleSet>
<NoWarn>$(NoWarn),IDE0052,1573,1591,1712</NoWarn>
<CheckEolTargetFramework>false</CheckEolTargetFramework>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<DebugType>full</DebugType>
</PropertyGroup>

Expand Down
3 changes: 0 additions & 3 deletions Tests/FluentAssertions.Specs/FluentAssertions.Specs.csproj
Expand Up @@ -3,14 +3,11 @@
<!-- To reduce build times, we only enable analyzers for the newest TFM -->
<PropertyGroup>
<TargetFrameworks>net47;net6.0;netcoreapp2.0;netcoreapp2.1;netcoreapp3.0</TargetFrameworks>
<LangVersion>9.0</LangVersion>
<SignAssembly>True</SignAssembly>
<AssemblyOriginatorKeyFile>..\..\Src\FluentAssertions\FluentAssertions.snk</AssemblyOriginatorKeyFile>
<IsPackable>false</IsPackable>
<CodeAnalysisRuleSet>..\..\TestRules.ruleset</CodeAnalysisRuleSet>
<NoWarn>$(NoWarn),IDE0052,1573,1591,1712</NoWarn>
<CheckEolTargetFramework>false</CheckEolTargetFramework>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<DebugType>full</DebugType>
</PropertyGroup>

Expand Down
3 changes: 1 addition & 2 deletions Tests/UWP.Specs/UWP.Specs.csproj
Expand Up @@ -8,7 +8,6 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>UWP.Specs</RootNamespace>
<AssemblyName>UWP.Specs</AssemblyName>
<LangVersion>9.0</LangVersion>
<DefaultLanguage>en-US</DefaultLanguage>
<TargetPlatformIdentifier>UAP</TargetPlatformIdentifier>
<TargetPlatformVersion>10.0.19041.0</TargetPlatformVersion>
Expand Down Expand Up @@ -97,4 +96,4 @@
</PackageReference>
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" />
</Project>
</Project>

0 comments on commit 4f2fc22

Please sign in to comment.