If you get error:

fail: [SDRSharp.Empty]: Failed to load assembly: ....UserAppData\SDRSharp.Common.dll
System.BadImageFormatException: Could not load file or assembly 'SDRSharp.Common
fail: .... SDRSharp.Radio.dll
fail: .... SDRSharp.PanView.dll
when loading SDR# SDK sample plugin project in VS 2022.
 

Resolution:
Ensure you have downloaded the latest SDR# SDK from Airspy.com (in case you downloaded SDK many months ago)
and install latest Visual Studio 2022
vs-2022-ver.jpg

For debugging plugins in Visual Studio, click SDRSharp.Diagnostics
for-debug-plugins.jpg

Plugins.xml file add key lines are not needed anymore, just copy plugin dll to SDR# plugins folder
just-copy-to-plugins-folder-no-need-to-a

SDK sample plugin should be visible here:
sdrsharp-plugin-folders.jpg

namespace SDRSharp.Empty
{
    public class EmptyPlugin : ISharpPlugin, ICanLazyLoadGui, ISupportStatus, IExtendedNameProvider
    {
        private ControlPanel _gui;
        private ISharpControl _control;

        public string DisplayName => "Empty Plugin";
        
        public string Category => "Misc";
        
        public string MenuItemName => DisplayName;

If Empty Plugin is not visible in SDR# => download latest SDR# version, I tried in SDR# version which is some months old and SDK sample plugin did not appeared in SDR# side panel. After downloading latest version (1900) plugin is visible and usable in side panel.

 

What is changed in plugin development?
There are new properties named Category and MenuItemName.
UI is initialized in LoadGui method (no more in Initialize method).

using System.Windows.Forms;
using SDRSharp.Common;
using SDRSharp.Radio;

namespace SDRSharp.Empty
{
    public class EmptyPlugin : ISharpPlugin, ICanLazyLoadGui, ISupportStatus, IExtendedNameProvider
    {
        private ControlPanel _gui;
        private ISharpControl _control;

        public string DisplayName => "Empty Plugin";
        
        public string Category => "Misc";
        
        public string MenuItemName => DisplayName;
        
        public bool IsActive => _gui != null && _gui.Visible;

        public UserControl Gui
        {
            get
            {
                LoadGui();
                return _gui;
            }
        }

        public void LoadGui()
        {
            if (_gui == null)
            {
                _gui = new ControlPanel(_control);
            }
        }

        public void Initialize(ISharpControl control)
        {
            _control = control;
        }

        public void Close()
        {
        }
    }
}