代码之家  ›  专栏  ›  技术社区  ›  Dylan Nicholson

奥尔良筒仓无法从组件中动态装载谷物,除非我先装载它们

  •  1
  • Dylan Nicholson  · 技术社区  · 7 年前

    我试图修改HelloWorld示例,使其能够动态加载粒度/接口,而不是SiloHost的显式依赖关系。 不过,我也经常出错。”Orleans.Runtime.OrleansConfigurationException:添加到ApplicationPartManager的程序集都不包含生成的代码。请确保已为grain接口和类程序集执行代码生成。“,或者如果我尝试添加“.WithCodeGeneration”,则在尝试加载DLL时会出现FileNotFound错误。

    所以我在Silo的main函数的开头添加了一行代码,显式地加载了有问题的dll,结果一切都很好——是的,grain可以成功地实例化和调用。 我把它改成

     foreach (var fn in System.IO.Directory.GetFiles(appDomainBase, "*.dll"))
         System.Reflection.Assembly.LoadFrom(fn);
    

    它仍然很好地工作。有趣的是,当我尝试使用“LoadFile”时,它没有起作用。

    那么,把这个留在这里有什么坏处吗?为什么还要用它呢?

    0 回复  |  直到 7 年前
    推荐文章