如果我在运行时知道Dll文件的绝对路径,这很容易实现。
但是我不知道 :( 如果文件不在应用程序根目录中,则assembly.Load()或LoadFromFile()无法成功加载。
我唯一拥有的东西就是dll名称。该dll可能位于根目录、system32甚至GAC中。
像下面这样,.net是否能自动确定dll的位置:
首先,在根目录查找。如果它不在那里,请继续尝试系统文件夹,否则请尝试GAC。
编辑
我正在使用插件架构。我不需要注册dll。我有一个多用户应用程序。我有一个包含有关应用程序信息的应用程序表。每个应用程序都有与之相关联的dll路径,其中包含与该应用程序相关的某些算法。希望这有所帮助。