【问题标题】:.NET Load assembly from <probing privatePath...> attr in .config file.NET 从 .config 文件中的 <probing privatePath...> attr 加载程序集
【发布时间】:2012-03-21 20:19:46
【问题描述】:

我有一个应用程序,它从属性的配置 (myapp.exe.config) 文件中指定的子文件夹中加载其大部分 dll

<probing privatePath="subdir"/> 

我的问题是:如果 dll 位于探测路径中指定的同一子目录“subdir”中,我可以仅使用其文件名加载 dll(例如 mydll.dll)在运行时 ?

我试过Assembly.LoadFile("mydll.dll"),但不会在“子目录”中搜索。

【问题讨论】:

    标签: .net assembly-resolution


    【解决方案1】:

    就我个人而言,我不太相信信任探测路径——dll 一直是一场噩梦,而 .net 并没有采取任何措施来改善这种情况。如果您仍然要使用 Assembly.Load,并且您确切地知道在哪里查看,为什么不自己找到 dll 并确保您准确加载您想要的内容,而不是让 .net 从 6 年前决定局域网的阴暗角落更刺激?

    【讨论】:

      【解决方案2】:

      你不需要加载 dll 文件,只需使用 Type.GetType(typeName) 来获取你的类型,然后使用这个类型来实例化你的对象

      【讨论】:

      猜你喜欢
      • 2011-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-17
      • 1970-01-01
      • 2012-10-15
      相关资源
      最近更新 更多