网络标准 1.5 中缺少 StackTrace 的默认构造函数



我在netstandard 1.5项目中使用StackTrace时遇到了困难。它似乎缺少在netcore 3.1项目中运行良好的默认构造函数。

错误是:

error CS7036: There is no argument given that corresponds to the required formal
parameter 'exception' of 'StackTrace.StackTrace(Exception, bool)'

没有专门的API页面指示API的实际是什么,而是显示netcore 3.1,它确实有一个默认的构造函数。

https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.stacktrace?view=netcore-3.1&viewFallbackFrom=netstandard-1.5

如果我在 Rider 中查看源代码,那么我会看到与 3.1 相同的 API。

.cspproj

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netstandard1.5</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.Diagnostics.StackTrace" Version="4.3.0" />
</ItemGroup>
</Project>

Program.cs

using System;
namespace stacktracer
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(
new System.Diagnostics.StackTrace().GetFrame(0).GetMethod().Name
);
}
}
}

我可以在netstandard中创建StackTrace而没有例外吗?

System.Diagnostics.StackTrace

不是.NET Standard 1.5的一部分。

您可以在 GitHub 上找到完整的 API。

或者,您可以使用 .NET API 浏览器。

但是,.NET Standard 2.1确实包含此 API。

相关内容

  • 没有找到相关文章

最新更新