我正在使用Microsoft.CodeAnalysis.CSharp.Scripting的CSharpScript(版本3.4.0-beta2-final)执行自定义计算。某些计算未在脚本中直接定义,而是委托给MyPlugin类的已编译静态方法。Calculations位于MyPlugin程序集中(仅调用静态方法)。
当我尝试从脚本中调用Calculations类的静态方法时
Smith John
5 Woodland
Beaconsfield QC H9W 4V8
Québec
CANADA
它抛出此异常:
return Calculations.GetHpPipingPrice();
我不明白,为什么它在MyPlugin程序集中定义时尝试从MyPlugin.Data程序集中加载“计算类型”。我添加了对MyPlugin程序集的引用,并将MyPlugin命名空间导入了ScriptOptions。这里有什么问题?难道我有一个插件系统,并使用Assembly.LoadFrom方法加载MyPlugin程序集? MyPlugin与执行程序集不在同一目录中。 MyPlugin.Data程序集包含用于初始化的数据(还包含脚本主体)。
编辑:这是创建脚本的方式:
TypeLoadException: Could not load type 'MyPlugin.Calculations' from assembly 'MyPlugin.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
AssemblyReferences包含程序集MyPlugin(以及其他),而Imports包含MyPlugin命名空间(以及其他)。