在asp.net中加载混合模式程序集

我有一个引用混合模式DLL的asp.net web服务。 本机dll的混合模式程序集引用位于添加到SYSTEM PATH的目录中。

我想从SYSTEM PATH中删除原生dll的目录,所以我将所有原生dll拷贝到webservice的bin目录中,但是我没有找到文件异常。

asp.net是否不在web服务的bin目录中查看本机dll? 有没有办法动态设置SYSTEM PATH? 我怎样才能使这个工作。


如果任何人遇到类似的情况,那么我就可以从不在这些位置的位置加载混合模式程序集:

  • 加载应用程序的目录。 对于ASP.Net,这将解析为IIS 6的%windir% Microsoft.Net Framework v ### 或%windir% system32 inetsrv。
  • 当前目录。 对于ASP.Net,这将解析为IIS 6的%windir% System32 inetsrv。如果使用内置Web服务器,则会解析为C: Program Files Microsoft Visual Studio 8下的路径。
  • Windows系统目录。 使用GetSystemDirectory函数获取此目录的路径。
  • Windows目录。 使用GetWindowsDirectory函数获取此目录的路径。
  • PATH环境变量中列出的目录。
  • 我将混合模式程序集上的本地dll设置为延迟加载。 然后我遵循http://blogs.msdn.com/b/jorman/archive/2007/08/31/loading-c-assemblies-in-asp-net.aspx中的选项2b

    我只需要对选项2b进行一些小调整。 它说在Global.asax中更新“Application_Start”方法,但我必须更新“Application_BeginRequest”方法才能使用我的web服务。

    链接地址: http://www.djcxy.com/p/44539.html

    上一篇: Mixed mode assembly loading in asp.net

    下一篇: DllImport is refusing to find my native .dll. Throws DllNotFoundException