Microsoft.Office.Coreメソッドシグニチャの問題
-
12-12-2019 - |
質問
相互opを使用するBOOプロジェクトをコンパイルすると、次のエラーが発生します。
textbox = _ActiveWorkSheet.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal, left, top, width, height)
.
メソッド 'Microsoft.Office.Interop.excel.Shapes.AddTextBox(Microsoft.Office.Core.MsotextOrientation、Single、Single、Single、Single)'の最良のオーバーロードは、引数リストと互換性がありません。(Microsoft.Office.Core.Msotextorientation、Single、Single、Single、Single) '。(BCE0017)
署名が同じであるように、この問題はMSotextorientationを認識しているようです。
私は2010年のPIAをインストールし、COM「Microsoft Office 14.0 Object Library」に参照を追加し、そこからMicrosoft.Office.Coreネームスペースをインポートできます。それは単にメソッドシグネチャーを離れて降ります。
SharpDevelop 3.2.1に組み込まれているBOOコンパイラバージョン0.9.1.3287を使用しています。
任意のアイデア?
解決
OK、
Microsoft.Office.Coreネームスペースをプロジェクトに持ち込む2つの方法がある:
- COMから「Microsoft Office 14.0オブジェクトライブラリ」をインポートする(参照中の「オフィス」として表示されます)
- GACから「Office」をインポートします(あなたの参照の "オフィス"として表示されます)
「Microsoft.Office.Core」の代わりにGACの「Office」の「Office」としてリストされている理由はわかりません。だからこそ、私はそれを逃し、代わりにCOMで見て終わったのですが、名前空間を輸入しました。
私は異なるアセンブリからの同一の名前空間をどのように処理されるかについて十分にわかりませんが、タイプが互換性がないとフラグが立てられている可能性はBoo / SharpDevelopの問題です。私はビジュアルスタジオ/ C#...
で起こったことが起こるのは、より多くの人々がこの問題を抱えていると思います。