Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New to BenchmarkDotNet, Need help #1178

Closed
AlenToma opened this issue Jun 8, 2019 · 8 comments
Closed

New to BenchmarkDotNet, Need help #1178

AlenToma opened this issue Jun 8, 2019 · 8 comments
Assignees
Labels

Comments

@AlenToma
Copy link

AlenToma commented Jun 8, 2019

Hi, so im new to BenchmarkDotNet and i really loved it when i saw it youtube.

So i created a test project with the name Benchmarklb to test my library, But i get a strange result and many exception that i really dont understand why those happen.

Here is my class that im testing

    [ClrJob(baseline: true), CoreJob, CoreRtJob]
    //[RPlotExporter, RankColumn]
    public class FastDeepCloner_tests
    {
        [Benchmark]
        public void ProxyTest()
        {
            var pUser = DeepCloner.CreateProxyInstance<User>();
            pUser.Name = "testo";
        }



        [Benchmark]
        public void Clone()
        {
            var user = new List<User>();
            user.Add(new User() { Name = "Alen" });

            var cloned = DeepCloner.Clone(user);

        }


        [Benchmark]
        public void DynamicClone()
        {
            dynamic originalAnonnymousObject = new
            {
                prop1 = "p1"
            ,
                prop2 = 10
            };
            dynamic clonedAnonnymousObject = DeepCloner.CloneDynamic(originalAnonnymousObject);

        }

        [Benchmark]
        public void CloneCollection()
        {
            var user = new UserCollections();
            user.Add(new User() { Name = "Alen" });
            user.TestValue = "Alen";
            user.us = new User() { Name = "Toma" };
            var cloned = DeepCloner.Clone(user);

        }
    }

And i simple start my application with

 static void Main(string[] args)
        {
            var summary = BenchmarkRunner.Run<FastDeepCloner_tests>(/*new MyConfig()*/);
        }

the logs im getting

// Validating benchmarks:
// ***** BenchmarkRunner: Start   *****
// ***** Found 12 benchmark(s) in total *****
// ***** Building 3 exe(s) in Parallel: Start   *****
// ***** Done, took 00:00:00 (0.55 sec)   *****
// Found 12 benchmarks:
//   FastDeepCloner_tests.ProxyTest: Clr(Runtime=Clr)
//   FastDeepCloner_tests.Clone: Clr(Runtime=Clr)
//   FastDeepCloner_tests.DynamicClone: Clr(Runtime=Clr)
//   FastDeepCloner_tests.CloneCollection: Clr(Runtime=Clr)
//   FastDeepCloner_tests.ProxyTest: Core(Runtime=Core)
//   FastDeepCloner_tests.Clone: Core(Runtime=Core)
//   FastDeepCloner_tests.DynamicClone: Core(Runtime=Core)
//   FastDeepCloner_tests.CloneCollection: Core(Runtime=Core)
//   FastDeepCloner_tests.ProxyTest: CoreRT(Runtime=CoreRT)
//   FastDeepCloner_tests.Clone: CoreRT(Runtime=CoreRT)
//   FastDeepCloner_tests.DynamicClone: CoreRT(Runtime=CoreRT)
//   FastDeepCloner_tests.CloneCollection: CoreRT(Runtime=CoreRT)

Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance)// Generate Exception: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj
// Build Error: Exception!
Message: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj,
Stack trace:
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GetProjectFilePath(Type benchmarkTarget, ILogger logger)
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GenerateProject(BuildPartition buildPartition, ArtifactsPaths artifactsPaths, ILogger logger)
   at BenchmarkDotNet.Toolchains.GeneratorBase.GenerateProject(BuildPartition buildPartition, ILogger logger, String rootArtifactsFolderPath)

// Generate Exception: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj
// Build Error: Exception!
Message: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj,
Stack trace:
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GetProjectFilePath(Type benchmarkTarget, ILogger logger)
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GenerateProject(BuildPartition buildPartition, ArtifactsPaths artifactsPaths, ILogger logger)
   at BenchmarkDotNet.Toolchains.GeneratorBase.GenerateProject(BuildPartition buildPartition, ILogger logger, String rootArtifactsFolderPath)

// Generate Exception: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj
// Build Error: Exception!
Message: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj,
Stack trace:
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GetProjectFilePath(Type benchmarkTarget, ILogger logger)
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GenerateProject(BuildPartition buildPartition, ArtifactsPaths artifactsPaths, ILogger logger)
   at BenchmarkDotNet.Toolchains.GeneratorBase.GenerateProject(BuildPartition buildPartition, ILogger logger, String rootArtifactsFolderPath)

// Generate Exception: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj
// Build Error: Exception!
Message: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj,
Stack trace:
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GetProjectFilePath(Type benchmarkTarget, ILogger logger)
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GenerateProject(BuildPartition buildPartition, ArtifactsPaths artifactsPaths, ILogger logger)
   at BenchmarkDotNet.Toolchains.GeneratorBase.GenerateProject(BuildPartition buildPartition, ILogger logger, String rootArtifactsFolderPath)

// Generate Exception: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj
// Build Error: Exception!
Message: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj,
Stack trace:
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GetProjectFilePath(Type benchmarkTarget, ILogger logger)
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GenerateProject(BuildPartition buildPartition, ArtifactsPaths artifactsPaths, ILogger logger)
   at BenchmarkDotNet.Toolchains.GeneratorBase.GenerateProject(BuildPartition buildPartition, ILogger logger, String rootArtifactsFolderPath)

// Generate Exception: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj
// Build Error: Exception!
Message: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj,
Stack trace:
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GetProjectFilePath(Type benchmarkTarget, ILogger logger)
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GenerateProject(BuildPartition buildPartition, ArtifactsPaths artifactsPaths, ILogger logger)
   at BenchmarkDotNet.Toolchains.GeneratorBase.GenerateProject(BuildPartition buildPartition, ILogger logger, String rootArtifactsFolderPath)

// Generate Exception: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj
// Build Error: Exception!
Message: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj,
Stack trace:
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GetProjectFilePath(Type benchmarkTarget, ILogger logger)
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GenerateProject(BuildPartition buildPartition, ArtifactsPaths artifactsPaths, ILogger logger)
   at BenchmarkDotNet.Toolchains.GeneratorBase.GenerateProject(BuildPartition buildPartition, ILogger logger, String rootArtifactsFolderPath)

// Generate Exception: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj
// Build Error: Exception!
Message: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj,
Stack trace:
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GetProjectFilePath(Type benchmarkTarget, ILogger logger)
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GenerateProject(BuildPartition buildPartition, ArtifactsPaths artifactsPaths, ILogger logger)
   at BenchmarkDotNet.Toolchains.GeneratorBase.GenerateProject(BuildPartition buildPartition, ILogger logger, String rootArtifactsFolderPath)

// Generate Exception: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj
// Build Error: Exception!
Message: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj,
Stack trace:
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GetProjectFilePath(Type benchmarkTarget, ILogger logger)
   at BenchmarkDotNet.Toolchains.CoreRt.Generator.GenerateProjectForNuGetBuild(BuildPartition buildPartition, ArtifactsPaths artifactsPaths, ILogger logger)
   at BenchmarkDotNet.Toolchains.CoreRt.Generator.GenerateProject(BuildPartition buildPartition, ArtifactsPaths artifactsPaths, ILogger logger)
   at BenchmarkDotNet.Toolchains.GeneratorBase.GenerateProject(BuildPartition buildPartition, ILogger logger, String rootArtifactsFolderPath)

// Generate Exception: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj
// Build Error: Exception!
Message: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj,
Stack trace:
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GetProjectFilePath(Type benchmarkTarget, ILogger logger)
   at BenchmarkDotNet.Toolchains.CoreRt.Generator.GenerateProjectForNuGetBuild(BuildPartition buildPartition, ArtifactsPaths artifactsPaths, ILogger logger)
   at BenchmarkDotNet.Toolchains.CoreRt.Generator.GenerateProject(BuildPartition buildPartition, ArtifactsPaths artifactsPaths, ILogger logger)
   at BenchmarkDotNet.Toolchains.GeneratorBase.GenerateProject(BuildPartition buildPartition, ILogger logger, String rootArtifactsFolderPath)

// Generate Exception: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj
// Build Error: Exception!
Message: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj,
Stack trace:
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GetProjectFilePath(Type benchmarkTarget, ILogger logger)
   at BenchmarkDotNet.Toolchains.CoreRt.Generator.GenerateProjectForNuGetBuild(BuildPartition buildPartition, ArtifactsPaths artifactsPaths, ILogger logger)
   at BenchmarkDotNet.Toolchains.CoreRt.Generator.GenerateProject(BuildPartition buildPartition, ArtifactsPaths artifactsPaths, ILogger logger)
   at BenchmarkDotNet.Toolchains.GeneratorBase.GenerateProject(BuildPartition buildPartition, ILogger logger, String rootArtifactsFolderPath)

// Generate Exception: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj
// Build Error: Exception!
Message: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj,
Stack trace:
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GetProjectFilePath(Type benchmarkTarget, ILogger logger)
   at BenchmarkDotNet.Toolchains.CoreRt.Generator.GenerateProjectForNuGetBuild(BuildPartition buildPartition, ArtifactsPaths artifactsPaths, ILogger logger)
   at BenchmarkDotNet.Toolchains.CoreRt.Generator.GenerateProject(BuildPartition buildPartition, ArtifactsPaths artifactsPaths, ILogger logger)
   at BenchmarkDotNet.Toolchains.GeneratorBase.GenerateProject(BuildPartition buildPartition, ILogger logger, String rootArtifactsFolderPath)

Successfully reverted power plan (GUID: 381b4222-f694-41f0-9685-ff5bb260df2e FriendlyName: Balanced)
// ***** BenchmarkRunner: Finish  *****

// * Export *
  BenchmarkDotNet.Artifacts\results\Benchmarklb.FastDeepCloner_tests-report.csv
  BenchmarkDotNet.Artifacts\results\Benchmarklb.FastDeepCloner_tests-report-github.md
  BenchmarkDotNet.Artifacts\results\Benchmarklb.FastDeepCloner_tests-report.html

// * Detailed results *
FastDeepCloner_tests.ProxyTest: Clr(Runtime=Clr)
Runtime = ; GC =
There are not any results runs

FastDeepCloner_tests.ProxyTest: Core(Runtime=Core)
Runtime = ; GC =
There are not any results runs

FastDeepCloner_tests.ProxyTest: CoreRT(Runtime=CoreRT)
Runtime = ; GC =
There are not any results runs

FastDeepCloner_tests.Clone: Clr(Runtime=Clr)
Runtime = ; GC =
There are not any results runs

FastDeepCloner_tests.Clone: Core(Runtime=Core)
Runtime = ; GC =
There are not any results runs

FastDeepCloner_tests.Clone: CoreRT(Runtime=CoreRT)
Runtime = ; GC =
There are not any results runs

FastDeepCloner_tests.DynamicClone: Clr(Runtime=Clr)
Runtime = ; GC =
There are not any results runs

FastDeepCloner_tests.DynamicClone: Core(Runtime=Core)
Runtime = ; GC =
There are not any results runs

FastDeepCloner_tests.DynamicClone: CoreRT(Runtime=CoreRT)
Runtime = ; GC =
There are not any results runs

FastDeepCloner_tests.CloneCollection: Clr(Runtime=Clr)
Runtime = ; GC =
There are not any results runs

FastDeepCloner_tests.CloneCollection: Core(Runtime=Core)
Runtime = ; GC =
There are not any results runs

FastDeepCloner_tests.CloneCollection: CoreRT(Runtime=CoreRT)
Runtime = ; GC =
There are not any results runs

// * Summary *

BenchmarkDotNet=v0.11.5, OS=Windows 10.0.17134.765 (1803/April2018Update/Redstone4)
Intel Core i7-3820 CPU 3.60GHz (Ivy Bridge), 1 CPU, 8 logical and 4 physical cores
Frequency=3515670 Hz, Resolution=284.4408 ns, Timer=TSC
.NET Core SDK=2.2.300
  [Host] : .NET Core 2.0.9 (CoreCLR 4.6.26614.01, CoreFX 4.6.26614.01), 64bit RyuJIT  [AttachedDebugger]


|          Method |    Job | Runtime | Mean | Error | Ratio | RatioSD |
|---------------- |------- |-------- |-----:|------:|------:|--------:|
|       ProxyTest |    Clr |     Clr |   NA |    NA |     ? |       ? |
|       ProxyTest |   Core |    Core |   NA |    NA |     ? |       ? |
|       ProxyTest | CoreRT |  CoreRT |   NA |    NA |     ? |       ? |
|                 |        |         |      |       |       |         |
|           Clone |    Clr |     Clr |   NA |    NA |     ? |       ? |
|           Clone |   Core |    Core |   NA |    NA |     ? |       ? |
|           Clone | CoreRT |  CoreRT |   NA |    NA |     ? |       ? |
|                 |        |         |      |       |       |         |
|    DynamicClone |    Clr |     Clr |   NA |    NA |     ? |       ? |
|    DynamicClone |   Core |    Core |   NA |    NA |     ? |       ? |
|    DynamicClone | CoreRT |  CoreRT |   NA |    NA |     ? |       ? |
|                 |        |         |      |       |       |         |
| CloneCollection |    Clr |     Clr |   NA |    NA |     ? |       ? |
| CloneCollection |   Core |    Core |   NA |    NA |     ? |       ? |
| CloneCollection | CoreRT |  CoreRT |   NA |    NA |     ? |       ? |

Benchmarks with issues:
  FastDeepCloner_tests.ProxyTest: Clr(Runtime=Clr)
  FastDeepCloner_tests.ProxyTest: Core(Runtime=Core)
  FastDeepCloner_tests.ProxyTest: CoreRT(Runtime=CoreRT)
  FastDeepCloner_tests.Clone: Clr(Runtime=Clr)
  FastDeepCloner_tests.Clone: Core(Runtime=Core)
  FastDeepCloner_tests.Clone: CoreRT(Runtime=CoreRT)
  FastDeepCloner_tests.DynamicClone: Clr(Runtime=Clr)
  FastDeepCloner_tests.DynamicClone: Core(Runtime=Core)
  FastDeepCloner_tests.DynamicClone: CoreRT(Runtime=CoreRT)
  FastDeepCloner_tests.CloneCollection: Clr(Runtime=Clr)
  FastDeepCloner_tests.CloneCollection: Core(Runtime=Core)
  FastDeepCloner_tests.CloneCollection: CoreRT(Runtime=CoreRT)

// * Warnings *
Environment
  Summary -> Benchmark was executed with attached debugger

// * Legends *
  Mean    : Arithmetic mean of all measurements
  Error   : Half of 99.9% confidence interval
  Ratio   : Mean of the ratio distribution ([Current]/[Baseline])
  RatioSD : Standard deviation of the ratio distribution ([Current]/[Baseline])
  1 ns    : 1 Nanosecond (0.000000001 sec)

// ***** BenchmarkRunner: End *****
// ** Remained 0 benchmark(s) to run **
Run time: 00:00:00 (0.76 sec), executed benchmarks: 0

Global total time: 00:00:01 (1.33 sec), executed benchmarks: 0
// * Artifacts cleanup *

C:\Program Files\dotnet\dotnet.exe (process 18168) exited with code 0.
To automatically close the console when debugging stops, enable Tools->Options->Debugging->Automatically close the console when debugging stops.
Press any key to close this window . . .

even the calculation is NA
Any idee what im doing wrong ? im building it in release mode

@AndreyAkinshin
Copy link
Member

Hey @AlenToma! Could you please share the full source code of your project (including csproj and sln files)? It seems that something is wrong with your project layout or project names.

@AlenToma
Copy link
Author

AlenToma commented Jun 9, 2019

Yes offcourse, you could get it on github. under source there is Benchmark.tests that i created.

@AlenToma
Copy link
Author

@AndreyAkinshin any new news?

@adamsitnik
Copy link
Member

Hello @AlenToma

In your log I can find following info:

Message: Unable to find Benchmarklb in E:\Projects\FastDeepCloner\source\Benchmark.tests\bin\Release\netcoreapp2.0 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj,

BenchmarkDotNet generates some boilerplate code that helps to avoid common benchmarking pitfalls. To allow for that, we need to generate and build a new project. This project needs to reference your project with benchmarks.

In your case, BDN looks for a project file called Benchmarklb.*proj.

Have you customized the Assembly name for this project?

obraz

@AlenToma
Copy link
Author

AlenToma commented Jul 2, 2019

Yes I did and thats why i removed this project and created a new one.

The new project gave me the same errors. about missing the dll. after some research i found ou that the problem is releated to sln file. that it cant locate my sln file

So i ran this code instead

          var config = ManualConfig.Create(DefaultConfig.Instance);
            config.Add(Job.ShortRun.With(InProcessEmitToolchain.Instance));
            var summary = BenchmarkRunner.Run<FastDeepCloner_tests>(config);

And now the table calculation, is working fine now and also showing some result.

There is still some errors

// Build Error: Exception!
Message: Unable to find BNGTest in E:\Projects\FastDeepCloner\source\BNGTest\bin\Release\netcoreapp2.2 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj,
Stack trace:
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GetProjectFilePath(Type benchmarkTarget, ILogger logger)
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GenerateProject(BuildPartition buildPartition, ArtifactsPaths artifactsPaths, ILogger logger)
   at BenchmarkDotNet.Toolchains.GeneratorBase.GenerateProject(BuildPartition buildPartition, ILogger logger, String rootArtifactsFolderPath)

// Generate Exception: Unable to find BNGTest in E:\Projects\FastDeepCloner\source\BNGTest\bin\Release\netcoreapp2.2 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj
// Build Error: Exception!
Message: Unable to find BNGTest in E:\Projects\FastDeepCloner\source\BNGTest\bin\Release\netcoreapp2.2 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj,
Stack trace:
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GetProjectFilePath(Type benchmarkTarget, ILogger logger)
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GenerateProject(BuildPartition buildPartition, ArtifactsPaths artifactsPaths, ILogger logger)
   at BenchmarkDotNet.Toolchains.GeneratorBase.GenerateProject(BuildPartition buildPartition, ILogger logger, String rootArtifactsFolderPath)

// Generate Exception: Unable to find BNGTest in E:\Projects\FastDeepCloner\source\BNGTest\bin\Release\netcoreapp2.2 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj
// Build Error: Exception!
Message: Unable to find BNGTest in E:\Projects\FastDeepCloner\source\BNGTest\bin\Release\netcoreapp2.2 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj,
Stack trace:
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GetProjectFilePath(Type benchmarkTarget, ILogger logger)
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GenerateProject(BuildPartition buildPartition, ArtifactsPaths artifactsPaths, ILogger logger)
   at BenchmarkDotNet.Toolchains.GeneratorBase.GenerateProject(BuildPartition buildPartition, ILogger logger, String rootArtifactsFolderPath)

// Generate Exception: Unable to find BNGTest in E:\Projects\FastDeepCloner\source\BNGTest\bin\Release\netcoreapp2.2 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj
// Build Error: Exception!
Message: Unable to find BNGTest in E:\Projects\FastDeepCloner\source\BNGTest\bin\Release\netcoreapp2.2 and its subfolders. Most probably the name of output exe is different than the name of the .(c/f)sproj,
Stack trace:
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GetProjectFilePath(Type benchmarkTarget, ILogger logger)
   at BenchmarkDotNet.Toolchains.CsProj.CsProjGenerator.GenerateProject(BuildPartition buildPartition, ArtifactsPaths artifactsPaths, ILogger logger)
   at BenchmarkDotNet.Toolchains.GeneratorBase.GenerateProject(BuildPartition buildPartition, ILogger logger, String rootArtifactsFolderPath)

if you look at the error it says missing dll in path E:\Projects\FastDeepCloner\source\BNGTest\bin\Release\netcoreapp2.2

I navigated to the path and found the dll, so i guess that the error is not releated to the message.

I really think that the error is releated to sln file, we should somehow be able to input the sln file location.

@adamsitnik
Copy link
Member

You need to remove the following line from your code:

[ClrJob(baseline: true), CoreJob, CoreRtJob]

these attributes tell BDN to run the benchmark for .NET, Core and CoreRT.

@AndreyAkinshin I think that we should remove Job attributes from Sample from the main page, too many new users run into issues with it.

[ClrJob(baseline: true), CoreJob, MonoJob, CoreRtJob]

@AlenToma
Copy link
Author

AlenToma commented Jul 2, 2019

Well thanks that was it, i guess i should have, read the documentation more carefully :)

just wondering, if my FastDeepCloner support more then one frameworks like core 2.0, netstandard 2.0 and net451 cant i create a console that support those frameworks and BenchmarkDotNet should automaticly start testing for all those frameworks?

or should i create a test project for each framework?

@adamsitnik
Copy link
Member

@AlenToma I have forked your project, got it working and send a PR with fixes and explanation: AlenToma/FastDeepCloner#7

I am going to close this issue, please feel free to reopen it if somehting does not work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants