Area-CompilersConcept-Diagnostic Clarityhelp wanted
仓库指标
- 星标
- (20,414 个星标)
- PR 合并指标
- (平均合并 6天 17小时) (30 天内合并 256 个 PR)
描述
Version Used: .NET CORE SDK 5.0.100
Steps to Reproduce:
- Create a new library that targets netcoreapp3.1.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
</Project>
- Attempt to compile the following code:
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace MyNamespace
{
public class Class1
{
[UnmanagedCallersOnly(CallConvs = new[] { typeof(CallConvStdcall) })]
public static void TestImpl() { }
}
}
#if !NET5_0
namespace System.Runtime.InteropServices
{
[AttributeUsage(AttributeTargets.Method, Inherited = false)]
public sealed class UnmanagedCallersOnlyAttribute : Attribute
{
public UnmanagedCallersOnlyAttribute() { }
public Type[] CallConvs;
public string EntryPoint;
}
}
#endif
Expected Behavior:
Build succeeded. 0 Warning(s) 0 Error(s)
Actual Behavior:
error CS8893: 'CallConvStdcall' is not a valid calling convention type for 'UnmanagedCallersOnly'.
Notes: This code compiles fine for net45, netstandard2.0, netstandard2.1.