Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Benchmark.NET+;时出现许可证错误;PostgreSQL的DevArt dotConnect_C#_.net_Dotconnect_Benchmarkdotnet - Fatal编程技术网

C# 使用Benchmark.NET+;时出现许可证错误;PostgreSQL的DevArt dotConnect

C# 使用Benchmark.NET+;时出现许可证错误;PostgreSQL的DevArt dotConnect,c#,.net,dotconnect,benchmarkdotnet,C#,.net,Dotconnect,Benchmarkdotnet,我正在开发一个由几个项目组成的应用程序,并使用EntityFramework和dotConnect对PostgreSQL运行。我还拥有dotConnect的许可证,该许可证在主应用程序中成功运行 同时,我正在使用Benchmark.Net制作一个控制台应用程序(一个不同的解决方案),以测量其中一个项目的逻辑性能。但每次运行基准测试时,我都会得到以下错误: System.Reflection.TargetInvocationException:调用的目标已引发异常。-->System.Data.E

我正在开发一个由几个项目组成的应用程序,并使用EntityFramework和dotConnect对PostgreSQL运行。我还拥有dotConnect的许可证,该许可证在主应用程序中成功运行

同时,我正在使用Benchmark.Net制作一个控制台应用程序(一个不同的解决方案),以测量其中一个项目的逻辑性能。但每次运行基准测试时,我都会得到以下错误:

System.Reflection.TargetInvocationException:调用的目标已引发异常。-->System.Data.Entity.Core.EntityException:基础提供程序在打开时失败。-->Devart.Data.PostgreSql.PgSqlException:包含用于PostgreSql许可证的嵌入式dotConnect的程序集不能与此应用程序一起使用:0f238e83-669a-46b8-876f-40331880ee79.exe.exe

接下来,我已经通过Visual Studio生成了
licenses.licx
,并通过
lc.exe生成了
.licenses
。但它仍在产生同样的错误

我怀疑Benchmark.NET生成自己的exe来运行基准导致了这个错误,但我不是100%确定。所以我在寻找一个解决方案,如果有人有


谢谢

我不确定为执行数据库调用等的代码创建基准是不是一个好主意。那时,您不是在对代码进行基准测试,而是在对整个系统进行基准测试:文件系统、数据库驱动程序、可能的互操作等

这不是BenchmarkDotNet的想法。它实际上是为相对较小的CPU限制任务的基准测试而创建的,以发现瓶颈并根据测量结果执行优化

但是,如果您仍然想这样做,一个解决方案可能是运行您创建的控制台应用程序的基准过程中,而不生成特殊的基准测试程序集

为此,请使用属性。只需将其应用于基准类,而不是通常的作业属性:

[InProcess]
public class TypeWithBenchmarks
{
    [Benchmark]
    public void BenchmarkedMethod()
    {
    }
}

@dymanoid,怎么做?请你给我指一下Benchmark.NET的文档或任何样本,好吗。多谢各位。至于基准测试本身,尽管我同意BenchmarkDotNet是为微观基准测试而设计的,但我必须强调,我正在测试的逻辑非常轻量级,我已经在使用BenchmarkDotNet时发现了一个性能问题。因此,我认为到目前为止,它满足了我的所有需求,在应用我得到的修复后
未处理的异常:System.InvalidOperationException:测量列表不包含任何元素
。这是一个BDN错误,似乎在0.11.2.849中已修复。要安装此夜间版本,请按照说明进行操作: