秀丸エディタ v8.97 では.NET5の.dllを、COM経由で普通に読むことができます。 そちらも参照してください。
考え方や作り方は、hm.NET用の記事「.NET4.x から .NET5 を 呼び出す」と同じです。 秀丸マクロから呼び出される以下の関数に [DllExport] や [MarshalAs(UnmanagedType.LPWStr)] を自身で付け加える形に修正し、確認してください。
using System; using System.Runtime.InteropServices; namespace MyTestCOMClient { public class Program { [DllExport] [return: MarshalAs(UnmanagedType.LPWStr)] public static string abc(MarshalAs(UnmanagedType.LPWStr) string str) { try { var server = new MyTestComActivation.IMyTestComInterface(); string[] list = { "aaa", "bbb", "ccc" }; var add = server.AddString(str, "かきくけこ", list); return add; } catch(Exception e) { System.Diagnostics.Trace.WriteLine(e.Message); } return ""; } } //次のクラスは通常PIAで定義されていますが、この例では //シナリオを単純化するためにここで定義されています。 namespace MyTestComActivation { // CoClass のマネージドの定義 [ComImport] [CoClass(typeof(MyTestComServer))] [Guid(ContractGuids.ServerInterface)] // TlbImp規則により、これを親インターフェイスのGUIDに設定します internal interface IMyTestComInterface : IMyTestCOMServer { } // CoClassのマネージドアクティベーション [ComImport] [Guid(ContractGuids.ServerClass)] internal class MyTestComServer { } } }