1

WindowsでMonoDevelopを使用して、Excel.Interopを使用する必要のあるC#アプリケーションを開発しようとしていました。

ただし、MonoDevelopは、WindowsGACにのみ存在するアセンブリにアクセスできないようです。

欠落している参照

WindowsでMonoDevelopを使用して、Windows固有のアセンブリでも開発する方法はありますか?

はい、 SharpDevelopとC#Expressは知っていますが、どちらにも私にとって非常に重要なVIキーバインディングがありません。

編集:展開されたエラーのスクリーンショット:

ここに画像の説明を入力してください

4

1 に答える 1

2

MonoDevelop(およびVisual Studio)では、GACからアセンブリを参照することはできません。ビルド時に、アセンブリは以下から解決されます。

  1. フレームワーク
  2. アセンブリフォルダ(.NETツールチェーンを対象とする場合)
  3. pkg-config(Monoツールチェーンを対象とする場合)

したがって、問題は、Monoと.NETのどちらをターゲットにしているかによって異なります。Windowsでは、MDはどちらもターゲットにできます。単純なケースでは、おそらく.NETです。Monoがインストールされていない場合は、.NETのみがターゲットになり、オプションは表示されません。また、MonoにはWPF(Presentation * .dll)がないため、とにかくこれには.NETを使用する必要があります。だから私は.NETについて話します。

これは、Microsoft.Office.Interop.Excel.dllに適用されます。すでにアセンブリフォルダに登録されていて、MonoDevelopがそれを見つけられない可能性があります-MSは新しいアセンブリフォルダレジストリキーを時々追加するので、まだMDに追加していない可能性があります-またはアセンブリフォルダにのみ登録される可能性がありますVisual Studio ToolsforOfficeをインストールする場合。非常に簡単に登録できます(http://msdn.microsoft.com/en-us/library/wkze6zky(v=vs.110).aspxを参照)。または、名前ではなくパスで参照することもできます。登録されていると思われるが、MDがそれを取得していない場合は、バグを報告してください。

PresentationCore.dllはフレームワークアセンブリであるため、注意が必要です。MonoDevelopには、各フレームワークにあることがわかっているアセンブリの名前の内部リストがあり、.NETを探す場所を知っています。通常、4.0フレームワークアセンブリはで検索しますC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0が、VS(Expressを含む)または.NETSDKをインストールした場合にのみ存在すると思います。フォールバックを調べますがC:\Windows\Microsoft.NET\Framework\v4.0.30319、MSがサブディレクトリに配置しているように見えるため、PresentationCore.dllでは機能しないようですWPF。これはMDマスターで修正しましたが、リリースされるまでしばらく時間がかかります。今のところ、リファレンスアセンブリをインストールすることをお勧めします。

于 2012-07-02T00:08:24.157 に答える