問題 VSIXプロジェクトで参照されている静的(拡張メソッド)があります。 VSIXプロジェクトをコンパイルすると、VSIX dll(Sameフォルダ)とともにbin/debugフォルダにdllが表示されます。VSIXは別のDLLで静的メソッドを見つけることができません
さらに、intellisenseはこれに問題はなく、コンパイルもしません! VSIXプロジェクトをデバッグモードで実行するとき。
「メソッドが見つかりません:: 『私はこのエラーが表示されます。可能System.Stringメソッド名(可能System.String)』(ビン/デバッグフォルダに)別のアセンブリ内の拡張メソッドである
私は」これらのような他の記事を読みまし:
Can't find VSIX dlls with DllImport
Include external .dll in Visual Studio Extension
どちらのソリューションは私に右見ていない、すべての後、DLLが適切foldeでありますr、それはそれ自身のコードを見つけますが、他のアセンブリは見つかりません....参考文献とusingステートメントとintellisenseの作業!
これはローダーの問題であることを示しています。何とかVSIXプロジェクトが他の参照されているアセンブリを読み込めないか、またはおそらく設計通りです。
資産として読み込もうとしましたが、他のVSIXプロジェクトではないので、すべての資産オプションがあります。
お知らせしかしこれらの資産タイプは、すべてのMicrosoft.VisualStudioが付いていること。私はMicrosoft.VisualStudio.Assemblyを試してみましたが、実際には動作しません。
別の奇妙なことに、私はEXEとして提供されるさらに別のアセンブリへの参照を含んでいました。これらのメソッドはすべて正常に動作します。ロードされていないdllだけです。これらのために、私はUSING文を使用することはできません。完全に修飾されたNameSpace名を使用して動作させる必要があります...しかし、DLLで同じトリックを試しても動作しません。
つのポストは、マニフェストファイルに手動でアセンブリを追加することを示唆し...しかし、そのポストは、これはどちらか動作しません。2010年
にあった:
はで参照されるアセンブリから衛星DLLを含めるにはVSIXパッケージでは、VSIXプロパティに含まれるOutput GroupsにSatelliteDllsProjectOutputGroupを追加します。
何が欠けていますか?