|  | 分類:[C#]
 
 お世話になります。
 
 Visio(2007 Professional)のデータベースモデル図をC#/VB.NETから操作したいと思っています。
 単なる図形オブジェクトの操作でしたらCOM経由でApplication->Documents->Document->Pages->Page->Shapesで操作できました。
 操作したいと思っているのが、エンティティやリレーションをクリックした際に「データベースプロパティ」ペインに
 表示される情報です。(エンティティでいえば物理名・概念名、リレーションでいえば物理名などです。)
 
 COMでそれらしき「Microsoft Visio Database Modeling Engine Type Library」を試しに参照に追加してみたのですが、
 COMからCLRに変換するタイプライブラリインポータ(Tlbimp.exe)でエラーが起きてそうなエラーメッセージがでて、
 コンパイルに失敗します。
 
 何か情報をお持ちでしたら教えていただけませんでしょうか。よろしくお願いいたします。
 
 ○ 環境
 Visual Studio 2005(C#)
 Visio 2007 Professional
 
 エラー	4	"ResolveComReference" タスクが予期せずに失敗しました。
 System.SystemException: タイプ ライブラリ インポータで型の検証中にエラーが発生しました。クラス メンバなしでインポートしてください。 ---> System.TypeLoadException: アセンブリ 'Interop.MODELENGLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null' からの型 'MODELENGLib.VMEERModelClass' のメソッド 'IVMEERModel_UpdateVerbalizer' は、オーバーライドされたメソッドをオーバーライドしようとしています。
 場所 System.Reflection.Module._InternalLoadInMemoryTypeByName(String className)
 場所 System.Runtime.InteropServices.TypeLibConverter.TypeResolveHandler.ResolveEvent(Object sender, ResolveEventArgs args)
 場所 System.AppDomain.OnTypeResolveEvent(String typeName)
 --- 内部例外スタック トレースの終わり ---
 
 |