ASP.NET Assembly Probing问题

时间:2009-09-19 07:17:44

标签: asp.net assemblies

以下是我的目录结构

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)

1 个答案:

答案 0 :(得分:4)

尝试调试时,首先要做的是setup Fusion logging - 这样你就可以看到目录了。

探测仅适用于您的应用程序目录下的子目录,因此,如果您说,您的应用程序位于... \ bin中,并且您的库位于... \ lib中它将无效 - 它们需要位于... \ BIN \ lib中。

您需要使用codebase代替