dropping unsupported netcore 3.1 target and fixing JSON dependency (#507)

This commit is contained in:
Pantazis Deligiannis 2024-07-16 02:01:13 -07:00 коммит произвёл GitHub
Родитель 20a461738a
Коммит 5d80beaa11
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
43 изменённых файлов: 47 добавлений и 167 удалений

4
.github/workflows/test-coyote.yml поставляемый
Просмотреть файл

@ -38,10 +38,6 @@ jobs:
uses: actions/setup-dotnet@v1
with:
dotnet-version: '6.0.x'
- name: Setup .NET Core 3.1 SDK
uses: actions/setup-dotnet@v1
with:
dotnet-version: '3.1.x'
- name: Setup debugging tools
if: ${{ matrix.platform == 'windows-latest' }}
run: |

Просмотреть файл

@ -40,17 +40,12 @@
<Framework462Installed>false</Framework462Installed>
<Framework462Installed Condition="'$(BUILD_NET462)'=='yes'">true</Framework462Installed>
<NetStandard2Supported Condition="'$(NetStandard2Supported)'==''">true</NetStandard2Supported>
<NetCore31Supported Condition="'$(NetCore31Supported)'==''">true</NetCore31Supported>
<NetCore31Installed>false</NetCore31Installed>
<NetCore31Installed Condition="$(GlobalVersion.StartsWith('3.1'))">true</NetCore31Installed>
<NetCore31Installed Condition="'$(BUILD_NETCORE31)'=='yes'">true</NetCore31Installed>
<Net6Supported Condition="'$(Net6Supported)'==''">true</Net6Supported>
<Net6Installed>false</Net6Installed>
<Net6Installed Condition="$(GlobalVersion.StartsWith('6.0'))">true</Net6Installed>
<Net6Installed Condition="'$(BUILD_NET6)'=='yes'">true</Net6Installed>
<TargetFrameworks>net8.0</TargetFrameworks>
<TargetFrameworks Condition="'$(NetStandard2Supported)'">$(TargetFrameworks);netstandard2.0</TargetFrameworks>
<TargetFrameworks Condition="'$(NetCore31Installed)' and '$(NetCore31Supported)'">$(TargetFrameworks);netcoreapp3.1</TargetFrameworks>
<TargetFrameworks Condition="'$(Net6Installed)' and '$(Net6Supported)'">$(TargetFrameworks);net6.0</TargetFrameworks>
</PropertyGroup>
<PropertyGroup Condition="'$(OS)'=='Windows_NT'">

6
History.md поставляемый
Просмотреть файл

@ -1,3 +1,9 @@
## vNext
- Upgraded the `System.Text.Json` package to `v8.0.4` for the `netstandard2.0`
target framework, due to a vulnerability.
- Dropped support for the `netcoreapp3.1` target framework, which reached end of
life.
## v1.7.11
- Added support for the `net8.0` target framework.
- Added support to optionally explore a race condition when using the

35
Scripts/CI/azure-nuget-sign-publish.yml поставляемый
Просмотреть файл

@ -17,11 +17,6 @@ steps:
inputs:
version: 6.0.x
- task: UseDotNet@2
displayName: 'Install .NET Core 3.1 SDK'
inputs:
version: 3.1.x
- task: UseDotNet@2
displayName: 'Install .NET Core 2.1 SDK'
inputs:
@ -98,36 +93,6 @@ steps:
}
]
- task: EsrpCodeSigning@2
displayName: 'ESRP CodeSigning .NET Core 3.1'
inputs:
ConnectedServiceName: CoyoteNugetSign
FolderPath: bin\netcoreapp3.1
signConfigType: inlineSignParams
inlineOperation: |
[
{
"KeyCode": "CP-230012",
"OperationCode": "SigntoolSign",
"Parameters": {
"OpusName": "Microsoft.Coyote",
"OpusInfo": "https://github.com/Microsoft/Coyote",
"FileDigest": "/fd \"SHA256\"",
"PageHash": "/PH",
"TimeStamp": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
},
"ToolName": "sign",
"ToolVersion": "1.0"
},
{
"KeyCode": "CP-230012",
"OperationCode": "SigntoolVerify",
"Parameters": {},
"ToolName": "sign",
"ToolVersion": "1.0"
}
]
- task: EsrpCodeSigning@2
displayName: 'ESRP CodeSigning .NET Standard 2.0'
inputs:

6
Scripts/build.ps1 поставляемый
Просмотреть файл

@ -26,7 +26,6 @@ if ($host.Version.Major -lt 7)
$dotnet = "dotnet"
$dotnet_sdk_path = FindDotNetSdkPath -dotnet $dotnet
$version_net4 = $IsWindows -and (Get-ItemProperty "HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full").Release -ge 528040
$version_netcore31 = FindMatchingVersion -path $dotnet_sdk_path -version "3.1.0"
$version_net6 = FindMatchingVersion -path $dotnet_sdk_path -version "6.0.0"
$sdk_version = FindDotNetSdkVersion -dotnet_sdk_path $dotnet_sdk_path
@ -44,11 +43,6 @@ if ($ci.IsPresent) {
$extra_frameworks = $extra_frameworks + " /p:BUILD_NET462=yes"
}
if ($null -ne $version_netcore31 -and $version_netcore31 -ne $sdk_version) {
# Build .NET Core 3.1 as well as the latest version.
$extra_frameworks = $extra_frameworks + " /p:BUILD_NETCORE31=yes"
}
if ($null -ne $version_net6 -and $version_net6 -ne $sdk_version) {
# Build .NET 6.0 as well as the latest version.
$extra_frameworks = $extra_frameworks + " /p:BUILD_NET6=yes"

2
Scripts/common.psm1 поставляемый
Просмотреть файл

@ -23,7 +23,7 @@ function Invoke-CoyoteTool([String]$cmd, [String]$dotnet, [String]$framework, [S
$command = "$coyote $cmd $target"
}
if ($command -eq "rewrite" -and $framework -ne "netcoreapp3.1" -and $framework -ne "net6.0" -and $framework -ne "net8.0" -and $IsWindows) {
if ($command -eq "rewrite" -and $framework -ne "net6.0" -and $framework -ne "net8.0" -and $IsWindows) {
# NOTE: Mono.Cecil cannot sign assemblies on unix platforms.
$command = "$command -snk $key"
}

2
Scripts/run-tests.ps1 поставляемый
Просмотреть файл

@ -2,7 +2,7 @@
# Licensed under the MIT License.
param(
[ValidateSet("net8.0", "net6.0", "netcoreapp3.1", "net462")]
[ValidateSet("net8.0", "net6.0", "net462")]
[string]$framework = "net8.0",
[ValidateSet("all", "runtime", "rewriting", "testing", "actors", "actors-testing", "tools")]
[string]$test = "all",

Просмотреть файл

@ -2494,7 +2494,7 @@ namespace Microsoft.Coyote.Runtime
/// </summary>
private static string FormatExceptionStackTrace(Exception exception)
{
#if NET || NETCOREAPP3_1
#if NET
string[] lines = exception.ToString().Split(Environment.NewLine, StringSplitOptions.None);
#else
string[] lines = exception.ToString().Split(new[] { Environment.NewLine }, StringSplitOptions.None);
@ -2516,7 +2516,7 @@ namespace Microsoft.Coyote.Runtime
private static string FormatUncontrolledStackTrace(StackTrace trace)
{
StringBuilder sb = new StringBuilder();
#if NET || NETCOREAPP3_1
#if NET
string[] lines = trace.ToString().Split(Environment.NewLine, StringSplitOptions.None);
#else
string[] lines = trace.ToString().Split(new[] { Environment.NewLine }, StringSplitOptions.None);
@ -2535,7 +2535,7 @@ namespace Microsoft.Coyote.Runtime
private static string FormatSpecificationMonitorStackTrace(StackTrace trace)
{
StringBuilder sb = new StringBuilder();
#if NET || NETCOREAPP3_1
#if NET
string[] lines = trace.ToString().Split(Environment.NewLine, StringSplitOptions.None);
#else
string[] lines = trace.ToString().Split(new[] { Environment.NewLine }, StringSplitOptions.None);

Просмотреть файл

@ -210,7 +210,7 @@ namespace Microsoft.Coyote.Testing.Interleaving
/// </summary>
private string FormatReplayError(int step, string reason)
{
#if NET || NETCOREAPP3_1
#if NET
string[] traceTokens = new StackTrace().ToString().Split(Environment.NewLine, StringSplitOptions.RemoveEmptyEntries);
#else
string[] traceTokens = new StackTrace().ToString().Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);

Просмотреть файл

@ -8,7 +8,7 @@ using Microsoft.Coyote.Logging;
using Microsoft.Coyote.Runtime;
using Mono.Cecil;
using Mono.Cecil.Cil;
#if NET || NETCOREAPP3_1
#if NET
using HttpClient = Microsoft.Coyote.Rewriting.Types.Net.Http.HttpClient;
#endif
using NameCache = Microsoft.Coyote.Rewriting.Types.NameCache;
@ -101,7 +101,7 @@ namespace Microsoft.Coyote.Rewriting
this.Processor.InsertAfter(instruction, newInstruction);
this.IsMethodBodyModified = true;
}
#if NET || NETCOREAPP3_1
#if NET
else if (IsSystemType(resolvedReturnType) && resolvedReturnType.FullName == NameCache.HttpClient)
{
MethodReference interceptionMethod = this.CreateInterceptionMethod(

Просмотреть файл

@ -89,7 +89,7 @@ namespace Microsoft.Coyote.Rewriting
this.KnownTypes[NameCache.EventWaitHandle] = typeof(Types.Threading.EventWaitHandle);
this.KnownTypes[NameCache.WaitHandle] = typeof(Types.Threading.WaitHandle);
#if NET || NETCOREAPP3_1
#if NET
// Populate the map with the known HTTP and web-related types.
this.KnownTypes[NameCache.HttpClient] = typeof(Types.Net.Http.HttpClient);
this.KnownTypes[NameCache.HttpRequestMessage] = typeof(Types.Net.Http.HttpRequestMessage);

Просмотреть файл

@ -297,7 +297,7 @@ namespace Microsoft.Coyote.Rewriting
{
var targetFramework = assembly?.GetCustomAttributes(typeof(TargetFrameworkAttribute), false)
.SingleOrDefault() as TargetFrameworkAttribute;
#if NET || NETCOREAPP3_1
#if NET
var tokens = targetFramework?.FrameworkName.Split(",Version=", StringSplitOptions.None);
#else
var tokens = targetFramework?.FrameworkName.Split(new[] { ",Version=" }, StringSplitOptions.None);
@ -310,7 +310,6 @@ namespace Microsoft.Coyote.Rewriting
{
resolvedTargetFramework = tokens[1] is "v8.0" ? "net8.0" :
tokens[1] is "v6.0" ? "net6.0" :
tokens[1] is "v3.1" ? "netcoreapp3.1" :
resolvedTargetFramework;
}
else if (tokens[0] == ".NETFramework")

Просмотреть файл

@ -55,7 +55,7 @@ namespace Microsoft.Coyote.Rewriting.Types.Collections.Concurrent
instance.Add(item);
}
#if NET || NETCOREAPP3_1
#if NET
/// <summary>
/// Removes all objects from the concurrent bag.
/// </summary>

Просмотреть файл

@ -135,7 +135,7 @@ namespace Microsoft.Coyote.Rewriting.Types.Collections.Concurrent
return instance.AddOrUpdate(key, addValue, updateValueFactory);
}
#if NET || NETCOREAPP3_1
#if NET
/// <summary>
/// Adds a key/value pair to the concurrent dictionary if the key does not
/// already exist, or updates a key/value pair in the concurrent dictionary
@ -201,7 +201,7 @@ namespace Microsoft.Coyote.Rewriting.Types.Collections.Concurrent
return instance.GetOrAdd(key, value);
}
#if NET || NETCOREAPP3_1
#if NET
/// <summary>
/// Adds a key/value pair to the concurrent dictionary if the key does not already exist.
/// Returns the new value, or the existing value if the key already exists.

Просмотреть файл

@ -46,7 +46,7 @@ namespace Microsoft.Coyote.Rewriting.Types.Collections.Concurrent
return instance.IsEmpty;
}
#if NET || NETCOREAPP3_1
#if NET
/// <summary>
/// Removes all objects from the concurrent queue.
/// </summary>

Просмотреть файл

@ -75,7 +75,7 @@ namespace Microsoft.Coyote.Rewriting.Types.Collections.Generic
new Wrapper(capacity, comparer) :
new SystemGenerics.Dictionary<TKey, TValue>(capacity, comparer);
#if NET || NETCOREAPP3_1
#if NET
/// <summary>
/// Initializes a new dictionary instance class that contains elements copied
/// from the specified enumerable.
@ -263,7 +263,7 @@ namespace Microsoft.Coyote.Rewriting.Types.Collections.Generic
instance.OnDeserialization(sender);
}
#if NET || NETCOREAPP3_1
#if NET
/// <summary>
/// Ensures that the dictionary can hold up to a specified number of entries without
/// any further expansion of its backing storage.
@ -365,7 +365,7 @@ namespace Microsoft.Coyote.Rewriting.Types.Collections.Generic
internal Wrapper(SystemGenerics.IEqualityComparer<TKey> comparer)
: base(comparer) => this.Setup();
#if NET || NETCOREAPP3_1
#if NET
/// <summary>
/// Initializes a new instance of the <see cref="Wrapper"/> class.
/// </summary>

Просмотреть файл

@ -56,7 +56,7 @@ namespace Microsoft.Coyote.Rewriting.Types.Collections.Generic
new Wrapper(collection, comparer) :
new SystemGenerics.HashSet<T>(collection, comparer);
#if NET || NETCOREAPP3_1
#if NET
/// <summary>
/// Initializes a hash set instance class that is empty, but has reserved
/// space for 'capacity' items and and uses the default equality comparer for the set type.
@ -314,7 +314,7 @@ namespace Microsoft.Coyote.Rewriting.Types.Collections.Generic
instance.UnionWith(other);
}
#if NET || NETCOREAPP3_1
#if NET
/// <summary>
/// Ensures that this hash set object can hold the specified number of elements without growing.
/// </summary>
@ -379,7 +379,7 @@ namespace Microsoft.Coyote.Rewriting.Types.Collections.Generic
internal Wrapper(SerializationInfo info, StreamingContext context)
: base(info, context) => this.Setup();
#if NET || NETCOREAPP3_1
#if NET
/// <summary>
/// Initializes a new instance of the <see cref="Wrapper"/> class.
/// </summary>

Просмотреть файл

@ -5,7 +5,7 @@ using RuntimeCompiler = Microsoft.Coyote.Runtime.CompilerServices;
using SystemCompiler = System.Runtime.CompilerServices;
using SystemConcurrentCollections = System.Collections.Concurrent;
using SystemGenericCollections = System.Collections.Generic;
#if NET || NETCOREAPP3_1
#if NET
using SystemNetHttp = System.Net.Http;
#endif
using SystemTasks = System.Threading.Tasks;
@ -89,7 +89,7 @@ namespace Microsoft.Coyote.Rewriting.Types
internal static string ConcurrentQueue { get; } = typeof(SystemConcurrentCollections.ConcurrentQueue<>).FullName;
internal static string ConcurrentStack { get; } = typeof(SystemConcurrentCollections.ConcurrentStack<>).FullName;
#if NET || NETCOREAPP3_1
#if NET
internal static string HttpClient { get; } = typeof(SystemNetHttp.HttpClient).FullName;
internal static string HttpRequestMessage { get; } = typeof(SystemNetHttp.HttpRequestMessage).FullName;
#endif

Просмотреть файл

@ -1,7 +1,7 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
#if NET || NETCOREAPP3_1
#if NET
using System;
using System.Reflection;
using SystemHttpClient = System.Net.Http.HttpClient;

Просмотреть файл

@ -1,7 +1,7 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
#if NET || NETCOREAPP3_1
#if NET
using SystemCancellationToken = System.Threading.CancellationToken;
using SystemDelegatingHandler = System.Net.Http.DelegatingHandler;
using SystemHttpClientHandler = System.Net.Http.HttpClientHandler;

Просмотреть файл

@ -1,7 +1,7 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
#if NET || NETCOREAPP3_1
#if NET
namespace Microsoft.Coyote.Rewriting.Types.Net.Http
{
/// <summary>

Просмотреть файл

@ -1,7 +1,7 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
#if NET || NETCOREAPP3_1
#if NET
using System;
using Microsoft.Coyote.Runtime;
using SystemHttpMethod = System.Net.Http.HttpMethod;

Просмотреть файл

@ -1,7 +1,7 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
#if NET || NETCOREAPP3_1
#if NET
using System;
using Microsoft.Coyote.Rewriting.Types.Net.Http;
using Microsoft.Coyote.Runtime;

Просмотреть файл

@ -145,7 +145,7 @@ namespace Microsoft.Coyote.SystematicTesting
string decisionToken = tokens[1];
if (decisionToken.StartsWith("sp("))
{
#if NET || NETCOREAPP3_1
#if NET
SchedulingPointType sp = Enum.Parse<SchedulingPointType>(decisionToken.Substring(
3, decisionToken.Length - 4));
#else

Просмотреть файл

@ -3,19 +3,19 @@
using System;
using System.Collections.Generic;
#if NET || NETCOREAPP3_1
#if NET
using System.IO;
#endif
using System.Linq;
using System.Reflection;
#if NET || NETCOREAPP3_1
#if NET
using System.Runtime.Loader;
#endif
using System.Threading.Tasks;
using Microsoft.Coyote.Actors;
using Microsoft.Coyote.Logging;
using Microsoft.Coyote.Runtime;
#if NET || NETCOREAPP3_1
#if NET
using Microsoft.Extensions.DependencyModel;
using Microsoft.Extensions.DependencyModel.Resolution;
#endif
@ -57,7 +57,7 @@ namespace Microsoft.Coyote.SystematicTesting
/// </summary>
private readonly MethodInfo IterationDisposeMethod;
#if NET || NETCOREAPP3_1
#if NET
/// <summary>
/// The assembly load context, if there is one.
/// </summary>
@ -100,7 +100,7 @@ namespace Microsoft.Coyote.SystematicTesting
private TestMethodInfo(Configuration configuration, LogWriter logWriter)
{
this.LogWriter = logWriter;
#if NET || NETCOREAPP3_1
#if NET
this.Assembly = AssemblyLoadContext.Default.LoadFromAssemblyPath(configuration.AssemblyToBeAnalyzed);
this.LoadContext = AssemblyLoadContext.GetLoadContext(this.Assembly);
this.DependencyContext = DependencyContext.Load(this.Assembly);
@ -416,7 +416,7 @@ namespace Microsoft.Coyote.SystematicTesting
return testMethods;
}
#if NET || NETCOREAPP3_1
#if NET
/// <summary>
/// Invoked when the resolution of an assembly fails.
/// </summary>
@ -476,7 +476,7 @@ namespace Microsoft.Coyote.SystematicTesting
/// </summary>
public void Dispose()
{
#if NET || NETCOREAPP3_1
#if NET
if (this.LoadContext != null)
{
this.LoadContext.Resolving -= this.OnResolving;

Просмотреть файл

@ -25,12 +25,8 @@
<ItemGroup Condition="'$(TargetFramework)' == 'net6.0'">
<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="6.0.0" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="6.0.0" />
<PackageReference Include="System.Text.Json" Version="6.0.0" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
<PackageReference Include="System.Text.Json" Version="8.0.2" />
<PackageReference Include="System.Text.Json" Version="8.0.4" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Source\Core\Core.csproj" />

Просмотреть файл

@ -1,7 +1,7 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
#if NET || NETCOREAPP3_1
#if NET
using Microsoft.AspNetCore.Builder;
using Microsoft.Coyote.Rewriting.Types.Web;

Просмотреть файл

@ -5,7 +5,6 @@
<RootNamespace>Microsoft.Coyote.Actors.BugFinding.Tests</RootNamespace>
<OutputPath>.\bin\</OutputPath>
<NetStandard2Supported>false</NetStandard2Supported>
<NetCore31Supported>false</NetCore31Supported>
<Net6Supported>false</Net6Supported>
<IsPackable>false</IsPackable>
<NoWarn>$(NoWarn),1591</NoWarn>

Просмотреть файл

@ -6,7 +6,6 @@
<OutputPath>.\bin\</OutputPath>
<NetStandard2Supported>false</NetStandard2Supported>
<Framework462Supported>false</Framework462Supported>
<NetCore31Supported>false</NetCore31Supported>
<Net6Supported>false</Net6Supported>
<IsPackable>false</IsPackable>
<NoWarn>$(NoWarn),1591</NoWarn>

Просмотреть файл

@ -5,7 +5,6 @@
<RootNamespace>Microsoft.Coyote.Actors.Tests</RootNamespace>
<OutputPath>.\bin\</OutputPath>
<NetStandard2Supported>false</NetStandard2Supported>
<NetCore31Supported>false</NetCore31Supported>
<Net6Supported>false</Net6Supported>
<IsPackable>false</IsPackable>
<NoWarn>$(NoWarn),1591</NoWarn>

Просмотреть файл

@ -29,7 +29,7 @@ namespace Microsoft.Coyote.BugFinding.Tests.ConcurrentCollections
Assert.Equal(1, count);
Assert.Single(concurrentBag);
#if NET || NETCOREAPP3_1
#if NET
concurrentBag.Clear();
Assert.Empty(concurrentBag);
#endif

Просмотреть файл

@ -29,7 +29,7 @@ namespace Microsoft.Coyote.BugFinding.Tests.ConcurrentCollections
Assert.Equal(1, count);
Assert.Single(concurrentQueue);
#if NET || NETCOREAPP3_1
#if NET
concurrentQueue.Clear();
Assert.Empty(concurrentQueue);
#endif
@ -63,7 +63,7 @@ namespace Microsoft.Coyote.BugFinding.Tests.ConcurrentCollections
Assert.Equal(1, dequeueValue);
Assert.Single(concurrentQueue);
#if NET || NETCOREAPP3_1
#if NET
concurrentQueue.Clear();
Assert.Empty(concurrentQueue);
#endif

Просмотреть файл

@ -5,7 +5,6 @@
<RootNamespace>Microsoft.Coyote.BugFinding.Tests</RootNamespace>
<OutputPath>.\bin\</OutputPath>
<NetStandard2Supported>false</NetStandard2Supported>
<NetCore31Supported>false</NetCore31Supported>
<Net6Supported>false</Net6Supported>
<IsPackable>false</IsPackable>
<NoWarn>$(NoWarn),1591</NoWarn>

Просмотреть файл

@ -6,7 +6,6 @@
<OutputPath>.\bin\</OutputPath>
<NetStandard2Supported>false</NetStandard2Supported>
<Framework462Supported>false</Framework462Supported>
<NetCore31Supported>false</NetCore31Supported>
<Net6Supported>false</Net6Supported>
<IsPackable>false</IsPackable>
<NoWarn>$(NoWarn),1591</NoWarn>

Просмотреть файл

@ -5,7 +5,6 @@
<RootNamespace>Microsoft.Coyote.Runtime.Tests</RootNamespace>
<OutputPath>.\bin\</OutputPath>
<NetStandard2Supported>false</NetStandard2Supported>
<NetCore31Supported>false</NetCore31Supported>
<Net6Supported>false</Net6Supported>
<IsPackable>false</IsPackable>
<NoWarn>$(NoWarn),1591</NoWarn>

Просмотреть файл

@ -5,7 +5,6 @@
<RootNamespace>Microsoft.Coyote.Tools.Tests</RootNamespace>
<OutputPath>.\bin\</OutputPath>
<NetStandard2Supported>false</NetStandard2Supported>
<NetCore31Supported>false</NetCore31Supported>
<Net6Supported>false</Net6Supported>
<IsPackable>false</IsPackable>
<NoWarn>$(NoWarn),1591</NoWarn>

Просмотреть файл

@ -7,7 +7,6 @@
<OutputPath>.\bin\</OutputPath>
<NetStandard2Supported>false</NetStandard2Supported>
<Framework462Supported>false</Framework462Supported>
<NetCore31Supported>false</NetCore31Supported>
<Net6Supported>false</Net6Supported>
<IsPackable>false</IsPackable>
<NoWarn>$(NoWarn);</NoWarn>

Просмотреть файл

@ -28,10 +28,6 @@
<FrameworkReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="8.0.0" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
<FrameworkReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="4.7.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Source\Core\Core.csproj" />
<ProjectReference Include="..\..\Source\Test\Test.csproj" />
@ -40,7 +36,4 @@
<Compile Include="$(MSBuildProjectDirectory)\..\Coyote\*.cs"/>
<Compile Include="$(MSBuildProjectDirectory)\..\Coyote\Cli\*.cs"/>
</ItemGroup>
<Target Name="CoyoteRewritingNet3_1" AfterTargets="AfterBuild" Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
<Exec Command="pwsh -c $(MSBuildProjectDirectory)/../Coyote/update-runtime-config.ps1 -outputPath $(OutputPath)" />
</Target>
</Project>

Просмотреть файл

@ -36,13 +36,6 @@
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
<FrameworkReference Include="Microsoft.AspNetCore.App" />
<FrameworkReference Include="Microsoft.NETCore.App" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="4.7.0" >
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)'=='net462'">
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
@ -55,12 +48,6 @@
<PrivateAssets>all</PrivateAssets>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Remove="update-runtime-config.ps1" />
</ItemGroup>
<Target Name="CoyoteRewritingNet3_1" AfterTargets="AfterBuild" Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
<Exec Command="pwsh -c $(MSBuildProjectDirectory)/update-runtime-config.ps1 -outputPath $(OutputPath)" />
</Target>
<PropertyGroup>
<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);ToolDependenciesTarget</TargetsForTfmSpecificBuildOutput>
<TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);LibDependenciesTarget</TargetsForTfmSpecificContentInPackage>

41
Tools/Coyote/update-runtime-config.ps1 поставляемый
Просмотреть файл

@ -1,41 +0,0 @@
param(
[string]$outputPath = ""
)
$file = "$outputPath\coyote.runtimeconfig.json"
$json = Get-Content $file | ConvertFrom-Json
if (-not ($json.runtimeOptions | Get-Member -MemberType NoteProperty -Name "framework"))
{
return
}
$tfm = $json.runtimeOptions.tfm
$originalFrameworkName = $json.runtimeOptions.framework.name
$originalFrameworkVersion = $json.runtimeOptions.framework.version
# Construct the updated JSON object that includes the aspnet framework.
# This is required so that the tool can resolve aspnet related assemblies
# during IL rewriting.
$newJson = @"
{
"runtimeOptions": {
"tfm": "$tfm",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "$originalFrameworkVersion"
},
{
"name": "$originalFrameworkName",
"version": "$originalFrameworkVersion"
}
],
"configProperties": {
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false
}
}
}
"@
$newJson | Out-File $file -Force

Просмотреть файл

@ -7,7 +7,6 @@
<OutputPath>.\bin\</OutputPath>
<NetStandard2Supported>false</NetStandard2Supported>
<Framework462Supported>false</Framework462Supported>
<NetCore31Supported>false</NetCore31Supported>
<Net6Supported>false</Net6Supported>
<IsPackable>false</IsPackable>
</PropertyGroup>

1
docs/get-started/install.md поставляемый
Просмотреть файл

@ -12,7 +12,6 @@ frameworks supported by Coyote:
| :-------------------: | :-------------------: |
| .NET 8.0 | Linux, macOS, Windows |
| .NET 6.0 | Linux, macOS, Windows |
| .NET Core 3.1 | Linux, macOS, Windows |
| .NET Standard 2.0 | Linux, macOS, Windows |
| .NET Framework 4.6.2 | Windows |

2
global.json поставляемый
Просмотреть файл

@ -1,5 +1,5 @@
{
"sdk": {
"version": "8.0.201"
"version": "8.0.303"
}
}