Skip to content

Commit

Permalink
Remove netstandard1.3 from code base (#59177)
Browse files Browse the repository at this point in the history
* Remove netstandard1.3 from code base

The remote debugger components moved to their minimum framework install
to 4.6.2 where it was previously 2.0. That means we can remove the uses
of `netstandard1.3` in our code base as they existed just to support
this specific case.

This means we can also remove our use of `net2.0` in the code base and
replace it with `net462`. That is a more involved changed though and
going to take that a piece at a time. Removing `netstandard1.3` is an
important step because presently it's blocking us from updating to the
latest System.Collections.Immutable as it dropped support for
`netstandard1.3`

* Revert change to generated file

* Revert changes to our source dist packages

* Fix rebuild exclusion

* test issues

* fix
  • Loading branch information
jaredpar authored Feb 7, 2022
1 parent 3d22f0b commit b8d2e61
Show file tree
Hide file tree
Showing 9 changed files with 19 additions and 26 deletions.
8 changes: 4 additions & 4 deletions src/Compilers/Core/Portable/CaseInsensitiveComparison.cs
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ public override int Compare(string? str1, string? str2)
return str1.Length - str2.Length;
}

#if !NET20 && !NETSTANDARD1_3
#if !NET20
public int Compare(ReadOnlySpan<char> str1, ReadOnlySpan<char> str2)
{
int len = Math.Min(str1.Length, str2.Length);
Expand Down Expand Up @@ -168,7 +168,7 @@ public override bool Equals(string? str1, string? str2)
return true;
}

#if !NET20 && !NETSTANDARD1_3
#if !NET20
public bool Equals(ReadOnlySpan<char> str1, ReadOnlySpan<char> str2)
{
if (str1.Length != str2.Length)
Expand Down Expand Up @@ -293,7 +293,7 @@ public override int GetHashCode(string str)
/// </remarks>
public static bool Equals(string left, string right) => s_comparer.Equals(left, right);

#if !NET20 && !NETSTANDARD1_3
#if !NET20
/// <summary>
/// Determines if two strings are equal according to Unicode rules for case-insensitive
/// identifier comparison (lower-case mapping).
Expand Down Expand Up @@ -335,7 +335,7 @@ public override int GetHashCode(string str)
/// </remarks>
public static int Compare(string left, string right) => s_comparer.Compare(left, right);

#if !NET20 && !NETSTANDARD1_3
#if !NET20
/// <summary>
/// Compares two strings according to the Unicode rules for case-insensitive
/// identifier comparison (lower-case mapping).
Expand Down
6 changes: 1 addition & 5 deletions src/Compilers/Core/Portable/InternalUtilities/FailFast.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,7 @@ internal static class FailFast

[DebuggerHidden]
[DoesNotReturn]
#if !NETSTANDARD1_3
[MethodImpl(MethodImplOptions.Synchronized)]
#endif
internal static void OnFatalException(Exception exception)
{
// EDMAURER Now using the managed API to fail fast so as to default
Expand All @@ -49,9 +47,7 @@ internal static void OnFatalException(Exception exception)

[DebuggerHidden]
[DoesNotReturn]
#if !NETSTANDARD1_3
[MethodImpl(MethodImplOptions.Synchronized)]
#endif
internal static void Fail(string message)
{
DumpStackTrace(message: message);
Expand Down Expand Up @@ -82,7 +78,7 @@ internal static void DumpStackTrace(Exception? exception = null, string? message
}
}

#if !NET20 && !NETSTANDARD1_3
#if !NET20
Console.WriteLine("Stack trace of handler");
var stackTrace = new StackTrace();
Console.WriteLine(stackTrace.ToString());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ public static void OverwriteHandler(ErrorReporterHandler? value)
// In the result provider, we aren't copying our handler to somewhere else, so we don't
// need this method. It's too much of a challenge to shared code to work in
// old versions of the runtime since APIs changed over time.
#if !NET20 && !NETSTANDARD1_3
#if !NET20

/// <summary>
/// Copies the handler in this instance to the linked copy of this type in this other assembly.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@
<OutputType>Library</OutputType>
<RootNamespace>Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator</RootNamespace>
<AssemblyName>Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ResultProvider</AssemblyName>
<!-- We need to support Windows OneCore, which runs Core CLR 1.0 (Windows OneCore) -->
<TargetFramework>netstandard1.3</TargetFramework>
<TargetFramework>netstandard2.0</TargetFramework>
<ApplyNgenOptimization>full</ApplyNgenOptimization>
</PropertyGroup>
<ItemGroup Label="Linked Files">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@
<RootNamespace>Microsoft.CodeAnalysis.ExpressionEvaluator</RootNamespace>
<AssemblyName>Microsoft.CodeAnalysis.ExpressionEvaluator.FunctionResolver</AssemblyName>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<!-- This component is deployed with remote debugger tools. It needs to work on .NET Framework 4.5 and Core CLR 1.0 (Windows OneCore) -->
<TargetFrameworks>net45;netstandard1.3</TargetFrameworks>
<TargetFrameworks>net45;netstandard2.0</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\..\..\..\Compilers\Core\Portable\InternalUtilities\ExceptionUtilities.cs">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@
<OutputType>Library</OutputType>
<RootNamespace>Microsoft.CodeAnalysis.ExpressionEvaluator</RootNamespace>
<AssemblyName>Microsoft.CodeAnalysis.ExpressionEvaluator.ResultProvider</AssemblyName>
<!-- We need to support Windows OneCore, which runs Core CLR 1.0 (Windows OneCore) -->
<TargetFramework>netstandard1.3</TargetFramework>
<TargetFrameworks>netstandard2.0</TargetFrameworks>
<ApplyNgenOptimization>full</ApplyNgenOptimization>
</PropertyGroup>
<ItemGroup Label="Linked Files">
Expand Down Expand Up @@ -78,6 +77,7 @@
<ItemGroup>
<PackageReference Include="Microsoft.VisualStudio.Debugger.Engine-implementation" Version="$(MicrosoftVisualStudioDebuggerEngineimplementationVersion)" />
<PackageReference Include="Microsoft.VisualStudio.Debugger.Metadata-implementation" Version="$(MicrosoftVisualStudioDebuggerMetadataimplementationVersion)" />
<PackageReference Include="System.Memory" Version="$(SystemMemoryVersion)" />
</ItemGroup>
<Import Project="..\ResultProvider.projitems" Label="Shared" />
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bVsdConfigOutputGroup;SatelliteDllsProjectOutputGroup</IncludeOutputGroupsInVSIX>
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup</IncludeOutputGroupsInVSIXLocalOnly>
<ForceIncludeInVSIX>true</ForceIncludeInVSIX>
<AdditionalProperties>TargetFramework=netstandard1.3</AdditionalProperties>
<AdditionalProperties>TargetFramework=netstandard2.0</AdditionalProperties>
<PkgDefEntry>BindingRedirect</PkgDefEntry>
</ProjectReference>
<ProjectReference Include="..\Core\Source\ResultProvider\Portable\Microsoft.CodeAnalysis.ResultProvider.csproj">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@
<PropertyGroup>
<OutputType>Library</OutputType>
<AssemblyName>Microsoft.CodeAnalysis.VisualBasic.ExpressionEvaluator.ResultProvider</AssemblyName>
<!-- We need to support Windows OneCore, which runs Core CLR 1.0 (Windows OneCore) -->
<TargetFramework>netstandard1.3</TargetFramework>
<TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace></RootNamespace>
</PropertyGroup>
<ItemGroup Label="Project References">
Expand Down
14 changes: 7 additions & 7 deletions src/NuGet/VisualStudio/VS.ExternalAPIs.Roslyn.Package.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -100,10 +100,10 @@
<_File Include="$(ArtifactsBinDir)Microsoft.VisualStudio.LanguageServices.Xaml\$(Configuration)\net472\Microsoft.VisualStudio.LanguageServices.Xaml.dll" TargetDir="" />
<_File Include="$(ArtifactsBinDir)Microsoft.VisualStudio.LanguageServices\$(Configuration)\net472\Microsoft.VisualStudio.LanguageServices.dll" TargetDir="" />

<_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.ResultProvider\$(Configuration)\netstandard1.3\Microsoft.CodeAnalysis.ExpressionEvaluator.ResultProvider.dll" TargetDir="" />
<_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.CSharp.ResultProvider\$(Configuration)\netstandard1.3\Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ResultProvider.dll" TargetDir="" />
<_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.VisualBasic.ResultProvider\$(Configuration)\netstandard1.3\Microsoft.CodeAnalysis.VisualBasic.ExpressionEvaluator.ResultProvider.dll" TargetDir="" />
<_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.FunctionResolver\$(Configuration)\netstandard1.3\Microsoft.CodeAnalysis.ExpressionEvaluator.FunctionResolver.dll" TargetDir="" />
<_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.ResultProvider\$(Configuration)\netstandard2.0\Microsoft.CodeAnalysis.ExpressionEvaluator.ResultProvider.dll" TargetDir="" />
<_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.CSharp.ResultProvider\$(Configuration)\netstandard2.0\Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ResultProvider.dll" TargetDir="" />
<_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.VisualBasic.ResultProvider\$(Configuration)\netstandard2.0\Microsoft.CodeAnalysis.VisualBasic.ExpressionEvaluator.ResultProvider.dll" TargetDir="" />
<_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.FunctionResolver\$(Configuration)\netstandard2.0\Microsoft.CodeAnalysis.ExpressionEvaluator.FunctionResolver.dll" TargetDir="" />
<_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.VisualBasic.ExpressionCompiler\$(Configuration)\netstandard2.0\Microsoft.CodeAnalysis.VisualBasic.ExpressionEvaluator.ExpressionCompiler.dll" TargetDir="" />
<_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.CSharp.ExpressionCompiler\$(Configuration)\netstandard2.0\Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler.dll" TargetDir="" />
<_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.ExpressionCompiler\$(Configuration)\netstandard2.0\Microsoft.CodeAnalysis.ExpressionEvaluator.ExpressionCompiler.dll" TargetDir="" />
Expand All @@ -113,10 +113,10 @@
<_File Include="$(ArtifactsBinDir)ResultProvider.NetFX20\$(Configuration)\net20\Microsoft.CodeAnalysis.ExpressionEvaluator.ResultProvider.dll" TargetDir="RemoteDebugger\net20" />
<_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.FunctionResolver\$(Configuration)\net45\Microsoft.CodeAnalysis.ExpressionEvaluator.FunctionResolver.dll" TargetDir="RemoteDebugger\net45" />

<_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.CSharp.ResultProvider\$(Configuration)\netstandard1.3\Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ResultProvider.vsdconfig" TargetDir="LanguageServiceRegistration\ExpressionEvaluatorPackage" />
<_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.CSharp.ResultProvider\$(Configuration)\netstandard2.0\Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ResultProvider.vsdconfig" TargetDir="LanguageServiceRegistration\ExpressionEvaluatorPackage" />
<_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.CSharp.ExpressionCompiler\$(Configuration)\netstandard2.0\Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler.vsdconfig" TargetDir="LanguageServiceRegistration\ExpressionEvaluatorPackage" />
<_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.VisualBasic.ResultProvider\$(Configuration)\netstandard1.3\Microsoft.CodeAnalysis.VisualBasic.ExpressionEvaluator.ResultProvider.vsdconfig" TargetDir="LanguageServiceRegistration\ExpressionEvaluatorPackage" />
<_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.FunctionResolver\$(Configuration)\netstandard1.3\Microsoft.CodeAnalysis.ExpressionEvaluator.FunctionResolver.vsdconfig" TargetDir="LanguageServiceRegistration\ExpressionEvaluatorPackage" />
<_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.VisualBasic.ResultProvider\$(Configuration)\netstandard2.0\Microsoft.CodeAnalysis.VisualBasic.ExpressionEvaluator.ResultProvider.vsdconfig" TargetDir="LanguageServiceRegistration\ExpressionEvaluatorPackage" />
<_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.FunctionResolver\$(Configuration)\netstandard2.0\Microsoft.CodeAnalysis.ExpressionEvaluator.FunctionResolver.vsdconfig" TargetDir="LanguageServiceRegistration\ExpressionEvaluatorPackage" />
<_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.VisualBasic.ExpressionCompiler\$(Configuration)\netstandard2.0\Microsoft.CodeAnalysis.VisualBasic.ExpressionEvaluator.ExpressionCompiler.vsdconfig" TargetDir="LanguageServiceRegistration\ExpressionEvaluatorPackage" />

<!-- Include a few dependencies of Roslyn. These right now are consumed out of the ExternalAPIs NuGet package to do assembly consistency checking in the main VS
Expand Down

0 comments on commit b8d2e61

Please sign in to comment.