0

我有一个 TopMostNode 类的 TypeConverter。它扩展了 ExpandableObjectConverter。TopMostNode 有两个属性。在属性网格中设置这些会导致设计人员正确序列化代码。但是,如果我为属性输入文本,我会收到“属性值无效”错误,详细信息如下:

“TopMostNode”类型的对象无法转换为“TopMostNode”类型。

我很困惑。当我单步执行类型转换器 ConvertFrom 代码时,它按预期运行。我什至不知道要开始寻找这样的问题。

4

2 回答 2

1

您可能加载了同一程序集的两个不同版本。

于 2010-03-16T00:14:11.073 回答
0

当所有设计时功能都在单独的 DLL 中时,我在为 .NET Framework 4.0 客户端配置文件开发控件时遇到了同样的问题。当我将两个项目(核心控件及其设计时部分)作为一个解决方案加载到 VS 时,问题就出现了。但是,当我尝试在其他项目中使用我的控件的已编译生产版本时,一切正常。

结论如下:在开始调试您的 TypeConverter 代码之前,请尝试在控件开发项目之外使用您的控件的编译版本。

PS 为了在开发时获得可用于我的控件的设计时功能,我将设计时部分 DLL 放入 VS 的 PrivateAssemblies 文件夹中。

于 2015-03-17T10:56:48.900 回答