COM プロジェクトについて

一般的に、.NET への移行は COM インタフェースに大きな影響を与えるものではありませんが、いくつかの変更が必要です。

前:
objectobj = Marshal.GetActiveObject("AutoCAD.Application.24.3"); 
readonlystringm_sAeccAppProgId ="AeccXUiRoadway.AeccRoadwayApplication.13.6";
現在:
[DllImport("ole32.dll")]
public static extern int GetActiveObjectExt(ref Guid rclsid, IntPtr reserved, [MarshalAs(UnmanagedType.Interface)] out object ppunk);
...
var type = Type.GetTypeFromProgID("AutoCAD.Application.25");
readonly string m_sAeccAppProgId = "AeccXUiRoadway.AeccRoadwayApplication.13.7";
var guid = type.GUID;
 
int result = GetActiveObjectExt(ref guid, IntPtr.Zero, out obj);