4

.NET 用のオープン ソースのSaxon XSLT プロセッサを使用して、いくつかの 2.0 変換を実行しています。

他の dll と同じように saxon9api.dll を参照し、これに対してコードをコンパイルできます。ただし、Visual Studio は、IDE をメモ帳と同じくらい便利にする IntelliSense を表示しません。

saxon9api.dll は IKVM Java for .NETプラットフォームを使用しています。これが VS の問題の原因なのだろうかと思います。Reflector は問題なく DLL を検査できますが、何らかの理由で VS が満足していないと思われます。

何か案は?

編集:

フレームワークに組み込み機能がない場合にSaxonを使用することをMicrosoftが推奨しているため (リンクは現在無効です) 、この動作に遭遇した人が他にいないことに驚いています。

IKVM で実行されているアセンブリが IntelliSense を表示しないという質問に言い換えると思いますが、これが最初に当てはまることを証明するには、別の IKVM ベースのプロジェクトを見つける必要があります...

4

1 に答える 1

1

Visual Studio でコンパイル、実行、IntelliSense を機能させるには、次の操作を行う必要があります。

  • 参照saxon9api.dll、すでに行ったように
  • 参照IKVM.OpenJDK.Core.dll
  • 参照IKVM.Runtime.dll(これが必要かどうかはわかりませんが、常に含めます)

参照している場合vjslib、問題が発生する可能性があります。これは、多くの同じ名前空間とクラス名が使用され、Visual Studio の IntelliSense に問題が発生する原因となるあいまいさにつながるためです。おそらく、同じ名前空間の競合を示す他のライブラリが存在します。その場合は、最初に新しいプロジェクトでこれを試し、最初に Saxon の依存関係から始めて、参照を 1 つずつ追加します。

これを行った後、少なくともVisual Studio 20102012および2013では、状況依存ヘルプが機能していることがわかります (画像は VS 2012 with R#のものです)。

Saxon EE を使用して Visual Studio で動作する IntelliSense


注: この投稿は古いため、当時は Visual Studio 2008 にのみ適用されていた可能性があります。使用していないため、テストしていません。

于 2015-09-06T13:52:47.823 に答える