0

我正在尝试在我的 WPF 应用程序中重新托管工作流设计器。

但是,当我尝试初始化它时,我会收到一个TypeLoadException包含以下消息的对话框:

“无法从程序集 'Reporting.Primitives,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null' 加载类型 'Reporting.Primitives.Documents.IDocField`1'。”

我已经尝试将其剥离并在这里得到了简单的调用代码:

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>前段时间确实写了一个接口,但现在不在解决方案中,所以我不明白为什么会导致问题。

4

1 回答 1

0

像往常一样,这总是你(我)的错。

该应用程序使用反射通过目录拉入插件,并且其中似乎有一个旧的 dll 正在引用该IDocField<T>接口。

这似乎不是问题,直到工作流设计者尝试探测程序集以获取类型信息,最终发现它引用了不存在的东西!

掌心

于 2015-04-20T18:25:38.527 回答