以下是我的目录结构
e:\ test \ probing
目录探测包含一个可执行文件[Probing.exe],它可以加载dll文件(Probe.dll)。
代码是:
namespace Probing
{
class Program
{
static void Main(string[] args)
{
Assembly asm = Assembly.Load("Probe.dll");
if (asm != null)
{
Console.WriteLine("Assembly Probe is loaded");
}
else
{
Console.WriteLine("Assembly Probe is not loaded");
}
}
}
}
dll文件是(Probe.dl)驻留在子目录中(e:\ test \ probing \ CustomLibraries \ Probe.dll)。
我提供了Probing.exe.config文件,甚至是App.config来找到程序集。
配置文件包含以下代码:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="CustomLibraries"/>
</assemblyBinding>
</runtime>
</configuration>
我正在接收FileNotFound Exception,直到我将bin保留在Bin目录中。
我需要你的帮助。(我使用的是Visual Studio 2008)
答案 0 :(得分:4)
尝试调试时,首先要做的是setup Fusion logging - 这样你就可以看到目录了。
探测仅适用于您的应用程序目录下的子目录,因此,如果您说,您的应用程序位于... \ bin中,并且您的库位于... \ lib中它将无效 - 它们需要位于... \ BIN \ lib中。
您需要使用codebase代替