зеркало из https://github.com/CryptoPro/runtime.git
[release/5.0] Update dependencies from dotnet/arcade (#43321)
[release/5.0] Update dependencies from dotnet/arcade - Avoid upgrading min version SDK - Convert now-invalid C# in UnmanagedCallersOnly test to IL. - Too many Ls. Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>
This commit is contained in:
Родитель
d90f149592
Коммит
be12034936
|
@ -10,61 +10,61 @@
|
|||
</Dependency>
|
||||
</ProductDependencies>
|
||||
<ToolsetDependencies>
|
||||
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="5.0.0-beta.20506.7">
|
||||
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="5.0.0-beta.20510.1">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>ee39cd1573dbb8011f343e1037af51d4fc00a747</Sha>
|
||||
<Sha>6813f5aa511a7a4498fa217a54219b5704a01f83</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="5.0.0-beta.20506.7">
|
||||
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="5.0.0-beta.20510.1">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>ee39cd1573dbb8011f343e1037af51d4fc00a747</Sha>
|
||||
<Sha>6813f5aa511a7a4498fa217a54219b5704a01f83</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.ApiCompat" Version="5.0.0-beta.20506.7">
|
||||
<Dependency Name="Microsoft.DotNet.ApiCompat" Version="5.0.0-beta.20510.1">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>ee39cd1573dbb8011f343e1037af51d4fc00a747</Sha>
|
||||
<Sha>6813f5aa511a7a4498fa217a54219b5704a01f83</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.GenAPI" Version="5.0.0-beta.20506.7">
|
||||
<Dependency Name="Microsoft.DotNet.GenAPI" Version="5.0.0-beta.20510.1">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>ee39cd1573dbb8011f343e1037af51d4fc00a747</Sha>
|
||||
<Sha>6813f5aa511a7a4498fa217a54219b5704a01f83</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.GenFacades" Version="5.0.0-beta.20506.7">
|
||||
<Dependency Name="Microsoft.DotNet.GenFacades" Version="5.0.0-beta.20510.1">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>ee39cd1573dbb8011f343e1037af51d4fc00a747</Sha>
|
||||
<Sha>6813f5aa511a7a4498fa217a54219b5704a01f83</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.XUnitExtensions" Version="5.0.0-beta.20506.7">
|
||||
<Dependency Name="Microsoft.DotNet.XUnitExtensions" Version="5.0.0-beta.20510.1">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>ee39cd1573dbb8011f343e1037af51d4fc00a747</Sha>
|
||||
<Sha>6813f5aa511a7a4498fa217a54219b5704a01f83</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.XUnitConsoleRunner" Version="2.5.1-beta.20506.7">
|
||||
<Dependency Name="Microsoft.DotNet.XUnitConsoleRunner" Version="2.5.1-beta.20510.1">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>ee39cd1573dbb8011f343e1037af51d4fc00a747</Sha>
|
||||
<Sha>6813f5aa511a7a4498fa217a54219b5704a01f83</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.Packaging" Version="5.0.0-beta.20506.7">
|
||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.Packaging" Version="5.0.0-beta.20510.1">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>ee39cd1573dbb8011f343e1037af51d4fc00a747</Sha>
|
||||
<Sha>6813f5aa511a7a4498fa217a54219b5704a01f83</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.CodeAnalysis" Version="5.0.0-beta.20506.7">
|
||||
<Dependency Name="Microsoft.DotNet.CodeAnalysis" Version="5.0.0-beta.20510.1">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>ee39cd1573dbb8011f343e1037af51d4fc00a747</Sha>
|
||||
<Sha>6813f5aa511a7a4498fa217a54219b5704a01f83</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk" Version="5.0.0-beta.20506.7">
|
||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk" Version="5.0.0-beta.20510.1">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>ee39cd1573dbb8011f343e1037af51d4fc00a747</Sha>
|
||||
<Sha>6813f5aa511a7a4498fa217a54219b5704a01f83</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.RemoteExecutor" Version="5.0.0-beta.20506.7">
|
||||
<Dependency Name="Microsoft.DotNet.RemoteExecutor" Version="5.0.0-beta.20510.1">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>ee39cd1573dbb8011f343e1037af51d4fc00a747</Sha>
|
||||
<Sha>6813f5aa511a7a4498fa217a54219b5704a01f83</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="5.0.0-beta.20506.7">
|
||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="5.0.0-beta.20510.1">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>ee39cd1573dbb8011f343e1037af51d4fc00a747</Sha>
|
||||
<Sha>6813f5aa511a7a4498fa217a54219b5704a01f83</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.VersionTools.Tasks" Version="5.0.0-beta.20506.7">
|
||||
<Dependency Name="Microsoft.DotNet.VersionTools.Tasks" Version="5.0.0-beta.20510.1">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>ee39cd1573dbb8011f343e1037af51d4fc00a747</Sha>
|
||||
<Sha>6813f5aa511a7a4498fa217a54219b5704a01f83</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk" Version="5.0.0-beta.20506.7">
|
||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk" Version="5.0.0-beta.20510.1">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>ee39cd1573dbb8011f343e1037af51d4fc00a747</Sha>
|
||||
<Sha>6813f5aa511a7a4498fa217a54219b5704a01f83</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="optimization.windows_nt-x64.IBC.CoreFx" Version="99.99.99-master-20200806.6">
|
||||
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>
|
||||
|
|
|
@ -48,16 +48,16 @@
|
|||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<!-- Arcade dependencies -->
|
||||
<MicrosoftDotNetApiCompatVersion>5.0.0-beta.20506.7</MicrosoftDotNetApiCompatVersion>
|
||||
<MicrosoftDotNetBuildTasksFeedVersion>5.0.0-beta.20506.7</MicrosoftDotNetBuildTasksFeedVersion>
|
||||
<MicrosoftDotNetCodeAnalysisVersion>5.0.0-beta.20506.7</MicrosoftDotNetCodeAnalysisVersion>
|
||||
<MicrosoftDotNetGenAPIVersion>5.0.0-beta.20506.7</MicrosoftDotNetGenAPIVersion>
|
||||
<MicrosoftDotNetGenFacadesVersion>5.0.0-beta.20506.7</MicrosoftDotNetGenFacadesVersion>
|
||||
<MicrosoftDotNetXUnitExtensionsVersion>5.0.0-beta.20506.7</MicrosoftDotNetXUnitExtensionsVersion>
|
||||
<MicrosoftDotNetXUnitConsoleRunnerVersion>2.5.1-beta.20506.7</MicrosoftDotNetXUnitConsoleRunnerVersion>
|
||||
<MicrosoftDotNetBuildTasksPackagingVersion>5.0.0-beta.20506.7</MicrosoftDotNetBuildTasksPackagingVersion>
|
||||
<MicrosoftDotNetRemoteExecutorVersion>5.0.0-beta.20506.7</MicrosoftDotNetRemoteExecutorVersion>
|
||||
<MicrosoftDotNetVersionToolsTasksVersion>5.0.0-beta.20506.7</MicrosoftDotNetVersionToolsTasksVersion>
|
||||
<MicrosoftDotNetApiCompatVersion>5.0.0-beta.20510.1</MicrosoftDotNetApiCompatVersion>
|
||||
<MicrosoftDotNetBuildTasksFeedVersion>5.0.0-beta.20510.1</MicrosoftDotNetBuildTasksFeedVersion>
|
||||
<MicrosoftDotNetCodeAnalysisVersion>5.0.0-beta.20510.1</MicrosoftDotNetCodeAnalysisVersion>
|
||||
<MicrosoftDotNetGenAPIVersion>5.0.0-beta.20510.1</MicrosoftDotNetGenAPIVersion>
|
||||
<MicrosoftDotNetGenFacadesVersion>5.0.0-beta.20510.1</MicrosoftDotNetGenFacadesVersion>
|
||||
<MicrosoftDotNetXUnitExtensionsVersion>5.0.0-beta.20510.1</MicrosoftDotNetXUnitExtensionsVersion>
|
||||
<MicrosoftDotNetXUnitConsoleRunnerVersion>2.5.1-beta.20510.1</MicrosoftDotNetXUnitConsoleRunnerVersion>
|
||||
<MicrosoftDotNetBuildTasksPackagingVersion>5.0.0-beta.20510.1</MicrosoftDotNetBuildTasksPackagingVersion>
|
||||
<MicrosoftDotNetRemoteExecutorVersion>5.0.0-beta.20510.1</MicrosoftDotNetRemoteExecutorVersion>
|
||||
<MicrosoftDotNetVersionToolsTasksVersion>5.0.0-beta.20510.1</MicrosoftDotNetVersionToolsTasksVersion>
|
||||
<!-- Installer dependencies -->
|
||||
<MicrosoftNETCoreAppVersion>5.0.0-rc.1.20451.14</MicrosoftNETCoreAppVersion>
|
||||
<MicrosoftNETCoreDotNetHostVersion>5.0.0-rc.1.20451.14</MicrosoftNETCoreDotNetHostVersion>
|
||||
|
|
10
global.json
10
global.json
|
@ -5,17 +5,17 @@
|
|||
"rollForward": "major"
|
||||
},
|
||||
"tools": {
|
||||
"dotnet": "5.0.100-rc.1.20454.5"
|
||||
"dotnet": "5.0.100-rc.2.20479.15"
|
||||
},
|
||||
"native-tools": {
|
||||
"cmake": "3.14.5",
|
||||
"python3": "3.7.1"
|
||||
},
|
||||
"msbuild-sdks": {
|
||||
"Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "5.0.0-beta.20506.7",
|
||||
"Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20506.7",
|
||||
"Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk": "5.0.0-beta.20506.7",
|
||||
"Microsoft.DotNet.Helix.Sdk": "5.0.0-beta.20506.7",
|
||||
"Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "5.0.0-beta.20510.1",
|
||||
"Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20510.1",
|
||||
"Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk": "5.0.0-beta.20510.1",
|
||||
"Microsoft.DotNet.Helix.Sdk": "5.0.0-beta.20510.1",
|
||||
"Microsoft.FIX-85B6-MERGE-9C38-CONFLICT": "1.0.0",
|
||||
"Microsoft.NET.Sdk.IL": "5.0.0-preview.8.20359.4",
|
||||
"Microsoft.Build.NoTargets": "2.0.1",
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
.assembly InvalidCSharp { }
|
||||
|
||||
.class public auto ansi beforefieldinit InvalidCSharp.GenericClass`1<T>
|
||||
extends System.Object
|
||||
extends [System.Runtime]System.Object
|
||||
{
|
||||
.method public hidebysig static
|
||||
void CallbackMethod (
|
||||
|
@ -73,3 +73,93 @@
|
|||
IL_0006: ret
|
||||
}
|
||||
}
|
||||
|
||||
.class public auto ansi beforefieldinit InvalidCSharp.CallingUnmanagedCallersOnlyDirectly
|
||||
extends [System.Runtime]System.Object
|
||||
{
|
||||
.method public hidebysig specialname rtspecialname
|
||||
instance void .ctor () cil managed
|
||||
{
|
||||
.maxstack 8
|
||||
IL_0000: ldarg.0
|
||||
IL_0001: call instance void [System.Runtime]System.Object::.ctor()
|
||||
IL_0006: ret
|
||||
}
|
||||
|
||||
.method public hidebysig static
|
||||
int32 ManagedDoubleCallback (
|
||||
int32 n
|
||||
) cil managed
|
||||
{
|
||||
.custom instance void [System.Runtime.InteropServices]System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute::.ctor() = (
|
||||
01 00 00 00
|
||||
)
|
||||
.maxstack 1
|
||||
.locals init (
|
||||
[0] int32
|
||||
)
|
||||
|
||||
IL_0000: nop
|
||||
IL_0001: ldarg.0
|
||||
IL_0002: call int32 InvalidCSharp.CallingUnmanagedCallersOnlyDirectly::DoubleImpl(int32)
|
||||
IL_0007: stloc.0
|
||||
IL_0008: br.s IL_000a
|
||||
|
||||
IL_000a: ldloc.0
|
||||
IL_000b: ret
|
||||
}
|
||||
|
||||
.method private hidebysig static
|
||||
int32 DoubleImpl (
|
||||
int32 n
|
||||
) cil managed
|
||||
{
|
||||
.maxstack 2
|
||||
.locals init (
|
||||
[0] int32
|
||||
)
|
||||
|
||||
IL_0000: nop
|
||||
IL_0001: ldc.i4.2
|
||||
IL_0002: ldarg.0
|
||||
IL_0003: mul
|
||||
IL_0004: stloc.0
|
||||
IL_0005: br.s IL_0007
|
||||
|
||||
IL_0007: ldloc.0
|
||||
IL_0008: ret
|
||||
}
|
||||
|
||||
.method public hidebysig static
|
||||
class [System.Runtime]System.Func`2<int32, int32> GetDoubleDelegate () cil managed
|
||||
{
|
||||
.maxstack 8
|
||||
|
||||
IL_0000: ldnull
|
||||
IL_0001: ldftn int32 InvalidCSharp.CallingUnmanagedCallersOnlyDirectly::ManagedDoubleCallback(int32)
|
||||
IL_0007: newobj instance void class [System.Runtime]System.Func`2<int32, int32>::.ctor(object, native int)
|
||||
IL_000c: ret
|
||||
}
|
||||
|
||||
.method public hidebysig static pinvokeimpl("UnmanagedCallersOnlyDll" as "DoesntExist" winapi)
|
||||
int32 PInvokeMarkedWithUnmanagedCallersOnly (
|
||||
int32 n
|
||||
) cil managed preservesig
|
||||
{
|
||||
.custom instance void [System.Runtime.InteropServices]System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute::.ctor() = (
|
||||
01 00 00 00
|
||||
)
|
||||
}
|
||||
|
||||
.method public hidebysig static
|
||||
int32 CallPInvokeMarkedWithUnmanagedCallersOnly (
|
||||
int32 n
|
||||
) cil managed
|
||||
{
|
||||
.maxstack 1
|
||||
|
||||
ldarg.0
|
||||
call int32 InvalidCSharp.CallingUnmanagedCallersOnlyDirectly::PInvokeMarkedWithUnmanagedCallersOnly(int32)
|
||||
ret
|
||||
}
|
||||
}
|
|
@ -29,10 +29,6 @@ public class Program
|
|||
[DllImport(nameof(UnmanagedCallersOnlyDll))]
|
||||
// Returns -1 if exception was throw and caught.
|
||||
public static extern int CallManagedProcCatchException(IntPtr callbackProc, int n);
|
||||
|
||||
[UnmanagedCallersOnly]
|
||||
[DllImport(nameof(UnmanagedCallersOnlyDll), EntryPoint = "DoesntExist")]
|
||||
public static extern int PInvokeMarkedWithUnmanagedCallersOnly(int n);
|
||||
}
|
||||
|
||||
private const string InvalidCSharpAssemblyName = "InvalidCSharp";
|
||||
|
@ -49,6 +45,12 @@ public class Program
|
|||
return asm.GetType("InvalidCSharp.GenericClass`1").MakeGenericType(typeof(int));
|
||||
}
|
||||
|
||||
public static Type GetCallingUnmanagedCallersOnlyDirectlyType()
|
||||
{
|
||||
var asm = Assembly.Load(InvalidCSharpAssemblyName);
|
||||
return asm.GetType("InvalidCSharp.CallingUnmanagedCallersOnlyDirectly");
|
||||
}
|
||||
|
||||
private delegate int IntNativeMethodInvoker();
|
||||
private delegate void NativeMethodInvoker();
|
||||
|
||||
|
@ -347,7 +349,7 @@ public class Program
|
|||
// Local function to delay exception thrown during JIT
|
||||
void CallAsDelegate()
|
||||
{
|
||||
Func<int, int> invoker = ManagedDoubleCallback;
|
||||
Func<int, int> invoker = (Func<int, int>)GetCallingUnmanagedCallersOnlyDirectlyType().GetMethod("GetDoubleDelegate").Invoke(null, BindingFlags.DoNotWrapExceptions, null, null, null);
|
||||
invoker(0);
|
||||
}
|
||||
}
|
||||
|
@ -716,10 +718,11 @@ public class Program
|
|||
Console.WriteLine($"Running {nameof(TestPInvokeMarkedWithUnmanagedCallersOnly)}...");
|
||||
|
||||
// Call P/Invoke directly
|
||||
Assert.Throws<NotSupportedException>(() => UnmanagedCallersOnlyDll.PInvokeMarkedWithUnmanagedCallersOnly(0));
|
||||
var pInvokeWrapperMethod = GetCallingUnmanagedCallersOnlyDirectlyType().GetMethod("CallPInvokeMarkedWithUnmanagedCallersOnly");
|
||||
Assert.Throws<NotSupportedException>(() => pInvokeWrapperMethod.Invoke(null, BindingFlags.DoNotWrapExceptions, null, new[] { (object)0 }, null));
|
||||
|
||||
// Call P/Invoke via reflection
|
||||
var method = typeof(UnmanagedCallersOnlyDll).GetMethod(nameof(UnmanagedCallersOnlyDll.PInvokeMarkedWithUnmanagedCallersOnly));
|
||||
var method = GetCallingUnmanagedCallersOnlyDirectlyType().GetMethod("PInvokeMarkedWithUnmanagedCallersOnly");
|
||||
Assert.Throws<NotSupportedException>(() => method.Invoke(null, BindingFlags.DoNotWrapExceptions, null, new[] { (object)0 }, null));
|
||||
|
||||
// Call P/Invoke as a function pointer
|
||||
|
@ -728,7 +731,7 @@ public class Program
|
|||
{
|
||||
.locals init (native int V_0)
|
||||
IL_0000: nop
|
||||
IL_0001: ldftn int UnmanagedCallersOnlyDll.PInvokeMarkedWithUnmanagedCallersOnly(int32)
|
||||
IL_0001: ldftn int InvalidCSharp.CallingUnmanagedCallersOnlyDirectly::PInvokeMarkedWithUnmanagedCallersOnly(int32)
|
||||
IL_0007: stloc.0
|
||||
|
||||
IL_0008: ldc.i4 1234
|
||||
|
|
Загрузка…
Ссылка в новой задаче