3

状況

モジュール (exe ファイル) アセンブリをファイルからロードすると、このアセンブリの必要な参照が見つからないというエラーが発生します。Windows エクスプローラーでアセンブリを開始すると、すべて正常に動作します。

サブフォルダーにあるため、必要な参照に問題があるようです。

構造はこんな感じ

..\MainApplication.exe 
..\Plugins\Plugin01.exe (needs Interactivity.dll) 
..\Plugins\Interactivity.dll

質問

必要な Interactivity.dll 参照がメイン アプリケーションのルート フォルダーではなく、プラグインと同じフォルダーにあることを確認するにはどうすればよいですか?

コードサンプル

Dim TAssembly As System.Reflection.Assembly TAssembly = System.Reflection.Assembly.LoadFrom("C:\MyProject\Plugins\Plugin01.exe")

元のエラー メッセージ

{"Zeilennummer \"33\" und Zeilenposition \"18\" von \"Bei der Initialisierung von 
\"Microsoft.Windows.Controls.Ribbon.RibbonApplicationMenu\" 
wurde eine Ausnahme ausgelöst.\"."}

.

Die Datei oder Assembly "Microsoft.Windows.Shell, PublicKeyToken=31bf3856ad364e35" 
oder eine Abhängigkeit davon wurde nicht gefunden. 
Das System kann die angegebene Datei nicht finden.
4

1 に答える 1

0

必要なアセンブリを埋め込みリソースとしてプログラムに配置し、AssemblyResolve イベントを使用してアセンブリをプログラムに渡すこともできます。開発時に実際の .dll に静的にリンクしていることを確認してください。これにより、デザイナーと IntelliSense のサポートが得られます。

于 2013-01-20T16:59:03.483 に答える