dotnet nbench
telah gagal dengan log di bawah ini.
❯ dotnet nbench
Building for framework netcoreapp2.1...
Benchmark.SimepleOneway.Local -> /SolutionDir/ProjectDir/bin/Release/netcoreapp2.1/Benchmark.SimepleOneway.Local.dll
Running .NET Core 2.1 tests for framework netcoreapp2.1...
OutputDir /SolutionDir/ProjectDir/PerfResults
The specified framework version '2.1' could not be parsed
The specified framework 'Microsoft.NETCore.App', version '2.1' was not found.
- Check application dependencies and target a framework version installed at:
/usr/local/share/dotnet/
- Installing .NET Core prerequisites might help resolve this problem:
http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
- The .NET Core framework and SDK can be installed from:
https://aka.ms/dotnet-download
- The following versions are installed:
2.0.9 at [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
2.1.3 at [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
2.1.5 at [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
@HIPERCUBE ini mungkin masalah dengan lingkungan Anda - tetapi izinkan saya memeriksa ulang.
Apakah Anda memiliki global.json
atau apa pun di proyek Anda yang menentukan versi runtime?
Dapat mengkonfirmasi masalah menjalankan NBench dengan dotnet core 2.1
The specified framework version '2.1' could not be parsed
The specified framework 'Microsoft.NETCore.App', version '2.1' was not found.
- Check application dependencies and target a framework version installed at:
C:\Program Files\dotnet\
- Installing .NET Core prerequisites might help resolve this problem:
http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
- The .NET Core framework and SDK can be installed from:
https://aka.ms/dotnet-download
- The following versions are installed:
2.0.6 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
2.0.7 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
2.0.9 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
2.1.1 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
2.1.2 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
2.1.3-servicing-26724-03 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
2.1.4 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
2.1.5 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Saya tidak memiliki file gloabl.json
dan proyek 2.1 lainnya berjalan dengan baik. Saya juga menginstal runtime 2.1 untuk memeriksa ulang apakah ada versi yang tidak cocok tetapi masih tidak berfungsi.
Jika ada bantuan, saya menemukan menambahkan <RuntimeFrameworkVersion>2.1.5</RuntimeFrameworkVersion>
ke .csproj saya memperbaiki masalah (kredit diberikan ke @Rene-Sackers untuk solusi yang mereka cantumkan di sini: https://github.com/dotnet/cli/issues/ 10111#issuecomment-429014700).
Ini tampaknya menjadi masalah dengan dotnet
CLI, sejauh yang saya tahu - melihat beberapa masalah terkait et al. Kesalahan yang ditulis di sini bukan dari NBench - itu dari proses dotnet
yang dotnet-nbench
memunculkan untuk menjalankan test runner.
Saya merasa bahwa akar penyebab masalah mungkin adalah cara kami memanggil proses dotnet
, menggunakan kelas DotNetMuxer
kami impor dari ASP.NET Core:
Saya membuat proyek reproduksi: https://github.com/Aaronontheweb/NBenchNetCore2.1Repro
Ketika saya memanggil dotnet build
dan kemudian dotnet nbench
pada proyek sampel di sana, saya mendapatkan output berikut:
λ dotnet nbench
Building for framework netcoreapp2.1...
NBenchRepro -> C:\Repositories\NBenchNetCore2.1Repro\NBenchRepro\bin\Release\netcoreapp2.1\NBenchRepro.dll
Running .NET Core 2.1.0 tests for framework netcoreapp2.1...
OutputDir C:\Repositories\NBenchNetCore2.1Repro\NBenchRepro\PerfResults
Executing Benchmarks in C:\Repositories\NBenchNetCore2.1Repro\NBenchRepro\bin\Release\netcoreapp2.1\NBenchRepro.dll
------------ STARTING NBenchRepro.CounterPerfSpecs+Benchmark ----------
--------------- BEGIN WARMUP ---------------
Elapsed: 00:00:00.1657419
[Counter] TestCounter - operations: 25,439,744.00 ,operations: /s 153,490,119.28 , ns / operations: 6.52
--------------- END WARMUP ---------------
--------------- BEGIN WARMUP ---------------
Elapsed: 00:00:00.1663968
[Counter] TestCounter - operations: 25,439,744.00 ,operations: /s 152,886,017.04 , ns / operations: 6.54
--------------- END WARMUP ---------------
--------------- BEGIN WARMUP ---------------
Elapsed: 00:00:00.1670527
[Counter] TestCounter - operations: 25,439,744.00 ,operations: /s 152,285,739.77 , ns / operations: 6.57
--------------- END WARMUP ---------------
--------------- BEGIN RUN ---------------
Elapsed: 00:00:00.1659459
[Counter] TestCounter - operations: 25,439,744.00 ,operations: /s 153,301,431.37 , ns / operations: 6.52
--------------- END RUN ---------------
--------------- BEGIN RUN ---------------
Elapsed: 00:00:00.1654938
[Counter] TestCounter - operations: 25,439,744.00 ,operations: /s 153,720,223.96 , ns / operations: 6.51
--------------- END RUN ---------------
--------------- BEGIN RUN ---------------
Elapsed: 00:00:00.1651669
[Counter] TestCounter - operations: 25,439,744.00 ,operations: /s 154,024,468.58 , ns / operations: 6.49
--------------- END RUN ---------------
--------------- RESULTS: NBenchRepro.CounterPerfSpecs+Benchmark ---------------
Test to ensure that a minimal throughput test can be rapidly executed.
--------------- DATA ---------------
[Counter] TestCounter: Max: 25,439,744.00 operations, Average: 25,439,744.00 operations, Min: 25,439,744.00 operations, StdDev: 0.00 operations
[Counter] TestCounter: Max / s: 154,024,468.58 operations, Average / s: 153,682,041.30 operations, Min / s: 153,301,431.37 operations, StdDev / s: 363,027.74 operations
--------------- ASSERTIONS ---------------
[PASS] Expected [Counter] TestCounter to must be greater than 10,000,000.00 operations; actual value was 153,682,041.30 operations.
------------ FINISHED NBenchRepro.CounterPerfSpecs+Benchmark ----------
Menggunakan NBench 1.2.2 dan dotnet --version
2.1.300 dalam kasus ini.
Jadi ini terlihat seperti masalah lingkungan, seperti yang sering terjadi pada masalah serupa dengan dotnet xunit
di masa lalu. Jika Anda dapat memberi kami beberapa informasi lebih lanjut tentang seperti apa lingkungan Anda atau spesifikasi reproduksi, saya akan membuka kembali masalah ini dan terus menghilangkannya.
Sementara itu, Anda dapat mencoba solusi dengan menentukan versi runtime eksplisit sesuai saran @C-Babbage.
Menindaklanjuti beberapa ini - dapat mereproduksi masalah ini sendiri saat mengerjakan https://github.com/petabridge/Petabridge.Tracing.Zipkin/pull/68
Saya mencapai kesimpulan yang sama dengan tim Entity Framework dan XUnit: ini adalah masalah dengan CLI itu sendiri dan penyelesaiannya tampaknya menentukan RuntimeFrameworkVersion
di dalam proyek pengujian Anda. Itu memberi CLI informasi yang diperlukan yang diperlukan untuk menyelesaikan runtime .NET Core Anda dengan benar.
Semoga ini diperbaiki di masa mendatang, tetapi kesalahan ini terjadi setelah dotnet-nbench
memutar proses dotnet
untuk menjalankan spesifikasi - ini adalah masalah CLI.