【问题标题】:Replacing the location from which the runtime looks assemblies on the fly替换运行时动态查找程序集的位置
【发布时间】:2011-09-23 09:52:27
【问题描述】:

我们有一个应用程序,它下面有一些“Utils”(一些简单的程序)。

这些实用程序依赖于我们的应用程序也在使用的一些共享 DLL,因此,我们希望只分发一次这些 DLL(放置在 APP_BASE\bin 下)。

我们正在寻找一种解决方案,其中 utils(位于 APP_BASE\Utils 下)将能够在 bin 文件夹(在其基本目录下不是 RELATIVE)中查找。

我知道 .NET 标准配置文件允许这样做,仅适用于相对路径下的程序集。

还有其他选择吗? 我们的 DLL 未签名,也未置于 GAC 之下。

【问题讨论】:

  • 您应该将此 utils dll 放入 GAC。可以签吗?
  • 磁盘很便宜,共享 dll 是地狱:除非你的 dll 很大,否则你不应该打扰;o)

标签: c# assemblies gac .net-assembly


【解决方案1】:

您可以使用AssemblyResolve 事件。
我们正在使用此事件来加载 x86\x64 dll,具体取决于用户的平台。

FIY 作为一种解决方法,您也可以使用 .net developmentMode

指定运行时是否在 DEVPATH 环境变量指定的目录中搜索程序集。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-13
    • 2010-10-10
    • 1970-01-01
    相关资源
    最近更新 更多