/// <inheritdoc />
        protected SentrySMAPluginBase(
            DebuggerAttachStrategy debuggerAttachStrategy = DebuggerAttachStrategy.Never)
            : base(debuggerAttachStrategy)
        {
            var pluginType = typeof(TPlugin);
            // ReSharper disable once VirtualMemberCallInConstructor
            var releaseName = $"{Name}@{pluginType.GetAssemblyVersion()}";

            _sentry = SentryEx.Initialize(releaseName);
        }
        protected SMAPluginBase(DebuggerAttachStrategy debuggerAttachStrategy = DebuggerAttachStrategy.Never)
            : base(RemotingServicesEx.GenerateIpcServerChannelName())
        {
            switch (debuggerAttachStrategy)
            {
            case DebuggerAttachStrategy.Always:
                Debugger.Launch();
                break;

            case DebuggerAttachStrategy.InDebugConfiguration:
                AttachDebuggerIfDebug();
                break;
            }

            try
            {
                // Required for logging
                Svc.App = CreateApplication();
                Svc.SharedConfiguration = new ConfigurationService(SMAFileSystem.SharedConfigDir);

                Svc.Logger = LoggerFactory.Create(AssemblyName, Svc.SharedConfiguration, ConfigureLogger);
                ReloadAnotarLogger();

                Svc.KeyboardHotKey       = KeyboardHookService.Instance;
                Svc.KeyboardHotKeyLegacy = KeyboardHotKeyService.Instance;
                Svc.Configuration        = new PluginConfigurationService(this);
                Svc.HotKeyManager        = HotKeyManager.Instance.Initialize(Svc.Configuration, Svc.KeyboardHotKey);

                LogTo.Debug($"Plugin {AssemblyName} initialized");
            }
            catch (Exception ex)
            {
                LogTo.Error(ex, $"Exception while initializing {GetType().Name}");
                throw;
            }
        }
 /// <inheritdoc />
 protected SentrySMAPluginBase(
     DebuggerAttachStrategy debuggerAttachStrategy = DebuggerAttachStrategy.Never)
     : base(debuggerAttachStrategy)
 {
     _sentry = SentryEx.Initialize();
 }