场合
从文件加载任何模块(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.
答案 0 :(得分:0)
您还可以将所需的程序集作为嵌入式资源放入程序中,然后使用AssemblyResolve事件将程序集传递给程序。只需确保您在开发时静态链接到实际的.dll,以便获得设计师和智能感知支持。