我正在尝试在我的WPF应用中重新托管工作流设计器。
然而,当我尝试初始化它时,我得到一个TypeLoadException
对话框,其中包含以下消息:
“无法加载类型 'Reporting.Primitives.Documents.IDocField`1'来自 程序集'Reporting.Primitives,Version = 1.0.0.0, Culture = neutral,PublicKeyToken = null'。“
我已经尝试将其剥离并在此处获得了简单的调用代码:
var wnd = new Window();
var grid = new Grid();
wnd.Content = grid;
var met = new DesignerMetadata();
met.Register();
var d = new WorkflowDesigner();
d.Load(new Sequence());
grid.Children.Add(d.View);
wnd.Show();
Load
的调用会导致异常。
以下是奇怪的部分:名为IDocField<T>
的解决方案中有无类型。
有一个IDocField
和一个DocField<T> : IDocField
,所以它似乎是从某个地方发明了这个IDocField<T>
类型。
我也没有任何反映调用寻找IDocField<T>
。
我也尝试将应用程序中的代码移动到不直接引用Reporting.Primitives
的各种模块中,但无济于事。
有一个IUiDocField<T>
界面浮动。
奇怪的是,我前段时间确实编写了一个接口IDocField<T>
,但现在不在解决方案中,所以我不明白为什么它会导致问题。
答案 0 :(得分:0)
照例It's always your (my) fault.
应用程序通过使用反射的目录拉入插件,并且看起来那里有一个引用IDocField<T>
界面的旧dll。
在工作流设计人员试图探测程序集中的类型信息之前,这似乎不是问题,最终发现某些东西引用了那些不存在的东西!
<强>捂脸强>