我在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有一个默认构造函数。
如果我在Rider中查看源码,那么我看到的API与3.1相同。
.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的一部分。
你可以找到完整的API 在GitHub上.
或者,您也可以使用 .NET API浏览器.
然而,.NET标准2.1。是否 包括这个API。