NHibernate Profiler не работает в .NET Core 3.1
Я пытаюсь использовать NHibernate Profiler в приложении.NET Core 3.1 MVC, и хотя я попытался установить то, что профилировщик настаивает, чтобы это было его работой (через nuget), я все еще не могу заставить NHibernate Profiler работать с.NET Core 3.1.
Я начал с добавления ссылки на HibernatingRhinos.Profiler.Appender
в проект и попытались вызвать NHibernateProfile.Initialize() из Program.Main следующим образом:
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 (я использую сборку 5044) здесь: http://hibernatingrhinos.com/products/NHProf
но я не могу заставить его работать.
Я не пробовал запускать его в режиме, в котором вам не нужно менять код приложения, но я не понимаю, в чем смысл прохождения всей чуши log4net, когда я МОГУ изменить код своего приложения (и документы предлагаю вам в любом случае использовать вызов.Initialize())
Я уверен, что что-то делаю неправильно и / или что-то упускаю. Любая помощь будет оценена
1 ответ
Так что я был прав, что-то делал неправильно.
Я по глупости копировал HibernatingRhinos.Profiler.Appender.dll в основной проект.net вместо того, чтобы использовать nuget для получения пакета NHibernateProfiler и вытаскивать для меня другие необходимые зависимости и конкретные версии!
Я взял этот пакет / версию через nuget:
и все работает.