DotNetBenchmark 抛出参考程序集错误
DotNetBenchmark throws reference assembly error
我想使用 BenchmarkDotnet 测试一些方法的性能。因此,我下载了添加了 usings 的 NuGet 包并像这样实现它:
BenchmarkRunner.Run<SortingAlgorithmBenchmark>();
public class SortingAlgorithmBenchmark
{
[Benchmark]
public void BubbleSort()
{
SortingAlgorithms.BubbleSort(new[] {2,3,1});
}
}
BenchmarkRunner 在应该显示输出的控制台应用程序中。不幸的是,我不断收到此错误:MSB3971:未找到“.NETFramework,Version=v6.0”的参考程序集。您可能正在使用较旧的 .NET SDK 来定位 .NET 5.0 或更高版本
我不知道这个错误是从哪里来的,因为我以前从来没有遇到过程序集引用的问题,所有的东西都应该正确安装。至少我不知道哪里出了问题。有谁知道如何解决这个问题。我运行程序在VS 2022中,TargetFramework是.Net 6.0
dotnet sdk folder
Microsoft.NET folder
原来问题是一个不必要的环境变量指向了错误的sdk。删除变量并重新启动后 Visual Studio 一切正常。
我想使用 BenchmarkDotnet 测试一些方法的性能。因此,我下载了添加了 usings 的 NuGet 包并像这样实现它:
BenchmarkRunner.Run<SortingAlgorithmBenchmark>();
public class SortingAlgorithmBenchmark
{
[Benchmark]
public void BubbleSort()
{
SortingAlgorithms.BubbleSort(new[] {2,3,1});
}
}
BenchmarkRunner 在应该显示输出的控制台应用程序中。不幸的是,我不断收到此错误:MSB3971:未找到“.NETFramework,Version=v6.0”的参考程序集。您可能正在使用较旧的 .NET SDK 来定位 .NET 5.0 或更高版本
我不知道这个错误是从哪里来的,因为我以前从来没有遇到过程序集引用的问题,所有的东西都应该正确安装。至少我不知道哪里出了问题。有谁知道如何解决这个问题。我运行程序在VS 2022中,TargetFramework是.Net 6.0
dotnet sdk folder
Microsoft.NET folder
原来问题是一个不必要的环境变量指向了错误的sdk。删除变量并重新启动后 Visual Studio 一切正常。