除非我先加载,否则奥尔良筒仓无法从装配中动态加载晶粒

时间:2019-02-24 22:00:46

标签: c# .net orleans

我正在尝试修改HelloWorld示例,以便能够动态加载晶粒/界面,而不会受到SiloHost的明确依赖。 但是,我不断收到错误消息,或者是“ Orleans.Runtime.OrleansConfigurationException:添加到ApplicationPartManager的所有程序集都不包含生成的代码。请确保已为Grain接口和类程序集执行了代码生成。”,或者如果我尝试添加“ .WithCodeGeneration, “,我在尝试加载DLL时遇到FileNotFound错误。

因此,我在Silo的主要功能的开头添加了一行代码,该代码显式加载了所涉及的DLL,而bingo则一切正常,并且可以成功实例化和调用grain。 我将其修改为

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

它仍然可以正常工作。有趣的是,当我尝试使用“ LoadFile”时,它不起作用。

那么把它留在这里有什么害处?为什么仍然需要它呢?

0 个答案:

没有答案