1
1
此问题是由GAC中这些程序集的版本不匹配引起的。 |
2
0
我的猜测是,在WF尝试反序列化之前,没有加载其他程序集。您可以通过在应用程序开始执行之前(即在程序类的主方法中,对于WinForms应用程序)简单地新建一个此类的实例来测试这一点。 如果是这样的话,你可以尝试一些东西。 弗斯特 ,在反序列化之前强制加载内存中所需的所有程序集(如上面的测试)。这种方法,imho,很糟糕。 第二 , you can add logic to runtime type resolution. 这似乎是可能的,但我从来没有做过。 第三 ,修改序列化的工作流,为其提供加载类型所需的信息。 我不知道你是如何序列化你的工作流程的,所以我不能确切地告诉你怎么做。我可以告诉您,工作流被序列化为XAML。XamlReader可以在反序列化时加载包含在Xaml中的类型的程序集。这是通过使用 special type of XML namespace . 假设这是缺少的类型(在序列化工作流中):
在程序集mycode.dll中定义了mytype:
则此类型的命名空间为:
XamlReader识别该命名空间,确定程序集名为mycode.dll或mycode.exe,查找该程序集,将其加载到内存中,然后查找mycode namespace.mytype。 然后问题变成了,“我如何让我的工作流序列化那个名称空间?”??”答案是“我不知道”。也许可以使用以下程序集属性:
但我不确定工作流序列化程序是否会尊重这些。见鬼,我甚至不确定工作流序列化程序是否会首先尊重clr名称空间。你可以试一试,如果不试一试的话,可以根据这个问题再问一个问题。 |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
Dansih · .Net核心自定义身份验证方案 2 年前 |
lolorekkk · 面板插入。NET WinForm 2 年前 |