

こんにちは。COMAPIを使用して取得したE-
CADの作図データのオブジェクト情報をXMLに出力するようにしたいですができていません。VisualStudio2019のC#を使用して行っており、Windows画面のボタンを押下すれば、作図データのオブジェクトが  
xmlファイルに出力されるようにしたいと考えています。現在は、ボタン押下後、xmlシリアライザーがCOMObjectにアクセスしようとして失敗します。何か他に考えることはあるでしょうか？そもそもXMLに出力不可の場合、出力するのに何か良い方法はあるでしょうか？出力方法はファイル等なんでもよいですが、、

[code]

            dynamic ecadAppObj = Interaction.GetObject(null, "EcadAuto.EcadApplication");
            dynamic ecadUIService = ecadAppObj.GetService("EcadAuto.EcadUIService");
            IEcadUISelection iEcadUiSelection = ecadUIService.Selection();
    
            var ecadCreateDbSearchCondition = ecadAppObj.CreateDbSearchCondition();
            var ecadSelectedObjects = iEcadUiSelection.SelectedObjects;
            //
            Type typeOfDataSet = ecadSelectedObjects.GetType();
    
            //
            var ecadDiagramInfo = ecadSelectedObjects.Document().DiagramInfo();
            //
            Type typeOfEcadDiagramInfo = ecadDiagramInfo.GetType();
    
            //XMLの作成
            System.Xml.Serialization.XmlSerializer writer = new System.Xml.Serialization.XmlSerializer(typeOfEcadDiagramInfo);
            var path = @"C:\Data\test.xml";
            System.IO.FileStream file = System.IO.File.Create(path);
    
            writer.Serialize(file, ecadDiagramInfo); //→ここでエラー
            file.Close();
    
[/code]

エラーメッセージ  
TypeAccessException: メソッド
'Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter__ComObject.Write4___ComObject(System.Object)'
が型 'System.__ComObject' にアクセスしようとして失敗しました。

よろしくお願いいたします。


CC BY-SA 4.0
2022-07-01T07:57:47.150
89709
2022-07-01T08:03:27.263
2022-07-01T08:03:27.263
43586
43586
question
c# xml com
COMAPIを使用して取得したオブジェクトをXMLに出力する