我想在运行时加载程序集。我所知道的关于装配的唯一信息是它的名字(弱名)。我在其中一本书中读过AppBase中存在所有具有弱名称的程序集。有谁知道如何在运行时加载这个程序集?
我在网上找到的代码是加载程序集如果你知道程序集路径。但我不想硬编码路径。
我使用以下代码加载程序集。 Assembly assembly = Assembly.Load(“RomanConverter”); 现在当CLR尝试加载程序集时,它无法找到assmbly。原因是上面的代码行是由一个控制台应用程序调用的,它没有任何对Roman Converter的引用。它试图在以下位置找到组件:( Fusion Log)
日志:尝试下载新的URL文件:/// C:/ Users / XYZ / documents / visual studio 2010 / Projects / Algo / Algo / bin / Debug / RomanConerter.DLL。 日志:尝试下载新的URL文件:/// C:/ Users / XYZ / documents / visual studio 2010 / Projects / Algo / Algo / bin / Debug / RomanConerter / RomanConerter.DLL。 日志:尝试下载新的URL文件:/// C:/ Users / XYZ / documents / visual studio 2010 / Projects / Algo / Algo / bin / Debug / RomanConerter.EXE。 日志:尝试下载新的URL文件:/// C:/ Users / XYZ / documents / visual studio 2010 / Projects / Algo / Algo / bin / Debug / RomanConerter / RomanConerter.EXE。
但是我的集会出现在其他地方。 (Imp:我不能在这里编写路径或者我不想给出任何相对路径)