代码之家  ›  专栏  ›  技术社区  ›  balexandre

装载装配件

  •  2
  • balexandre  · 技术社区  · 16 年前

    有很多讨论表明如何从bin和gac加载程序集…我的问题比较笼统,我想知道装配装载是如何工作的。

    例如

    在垃圾箱文件夹中

    A.dll
    A.dll.config 
    

    .dll.config文件可以是:

    <?xml version="1.0"?>
    <configuration>
      <startup>
        <supportedRuntime version="v2.0.50727"/>
      </startup>
    </configuration>
    

    帮助我们设置正确的程序集引用。

    我想知道如何创建一个a.dll,它需要b.dll,但没有指定任何版本,所以如果总是使用b in文件夹中的b.dll。

    我的问题是关于sdk的更新,我的所有代码仍然指向旧的sdk版本,我想让我的程序集查找资源的最顶层版本,bin或gac,并使用它…

    在Visual Studio中我该怎么说?我只能添加对物理文件(版本)的引用:-(

    2 回复  |  直到 16 年前
        1
  •  1
  •   Will Marcouiller    16 年前

    如果我理解正确,我想您可以使用“插件”的方式通过AppDomain对象进行操作。也许可以通过AppDomain加载程序集,因为您可以为加载的程序集设置路径,所以可以轻松地替换文件、卸载程序集并在shadowcopy中重新加载新的程序集。卷影副本允许您在当前文件程序集的同一位置复制最新文件。然后,构建检查新文件的机制,如果新文件存在,则卸载程序集并重新加载最新的文件。这样,程序的所有内容都将是透明的,尽管这需要您进行更多的编程。然而,你将从长期发展中获益。

        2
  •  1
  •   user114600    16 年前

    可以使用后期绑定和反射。有很多地方可以阅读,但是你可以开始 here .

    推荐文章