1

我正在尝试在 .NET Core 3.1 MVC 应用程序中使用 NHibernate Profiler,尽管我已经尝试安装探查器坚持认为它需要的工作(通过 nuget),但我仍然无法让 NHibernate Profiler 与 .NET Core 3.1 一起使用.

我首先添加HibernatingRhinos.Profiler.Appender对项目的引用,并尝试从 Program.Main 调用 NHibernateProfile.Initialize() ,如下所示:

public class Program
{
    public static void Main(string[] args)
    {
        HibernatingRhinos.Profiler.Appender.NHibernate.NHibernateProfiler.Initialize();
        CreateHostBuilder(args).Build().Run();
    }
...
}

以及 Startup 的构造函数

public Startup(IConfiguration configuration)
{
    HibernatingRhinos.Profiler.Appender.NHibernate.NHibernateProfiler.Initialize();
}

我收到的第一个例外是:

System.IO.FileNotFoundException: Could not load file or assembly 'System.Configuration.ConfigurationManager, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.

我通过 nuget 添加了该引用。

我收到的下一个例外是:

System.IO.FileNotFoundException: Could not load file or assembly 'System.CodeDom, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.

我通过 nuget 添加了引用。

我收到的最后一个例外是非常模糊的:

System.PlatformNotSupportedException: Operation is not supported on this platform.

NHibernate Profiler 声称它适用于 .NET Core 5.0 版(我正在运行 build 5044):http: //hibernatingrhinos.com/products/NHProf 在此处输入图像描述

但我无法让它工作。

我没有尝试在不必更改应用程序代码的模式下运行它,但是当我可以更改我的应用程序代码(以及文档建议您无论如何使用 .Initialize() 调用)

我确定我做错了什么和/或遗漏了一些东西。任何帮助,将不胜感激

4

1 回答 1

3

所以我是对的,我做错了什么。

我愚蠢地将 HibernatingRhinos.Profiler.Appender.dll 复制到 .net 核心项目中,而不是使用 nuget 来获取 NHibernateProfiler 包并为我引入其他需要的依赖项和特定版本!

我去通过nuget抓住了这个包/版本: 在此处输入图像描述

一切正常。

于 2020-04-27T17:45:04.037 回答