Visual studio 2017 类型为'的对象;X[]和#x27;无法转换为类型';X[]和#x27;

Visual studio 2017 类型为'的对象;X[]和#x27;无法转换为类型';X[]和#x27;,visual-studio-2017,windows-forms-designer,Visual Studio 2017,Windows Forms Designer,我有一个控件,其属性如下: public BindingList<I> X { get; private set; } = new SortableBindingList<I>(); <data name="controlName.X" mimetype="application/x-microsoft.net.object.binary.base64"> <value> AAEAAAD/////AQAAAAAAAAA

我有一个控件,其属性如下:

public BindingList<I> X { get; private set; } = new SortableBindingList<I>();
  <data name="controlName.X" mimetype="application/x-microsoft.net.object.binary.base64">
    <value>
        AAEAAAD/////AQAAAAAAAAAMAgAAAJsBSW50ZXJmYWNlc0ludmVzdG1lbnRzLCBWZXJzaW9uPTEuMC4w
        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dLCBtc2NvcmxpYiwgVmVyc2lv
        bj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkM
        AwAAAExJbnRlcmZhY2VzSW52ZXN0bWVudHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFs
        LCBQdWJsaWNLZXlUb2tlbj1udWxsBQEAAABOU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAx
        W1tLYW1hVHJlbmRhLkludGVyZmFjZXMuSW52ZXN0bWVudHMuSVBvc2l0aW9uAwAAAAZfaXRlbXMFX3Np
        emUIX3ZlcnNpb24EAAAtS2FtYVRyZW5kYS5JbnRlcmZhY2VzLkludmVzdG1lbnRzLklQb3NpdGlvbltd
        AwAAAAgIAgAAAAkEAAAAAAAAAAAAAAAHBAAAAAABAAAAAAAAAAQrS2FtYVRyZW5kYS5JbnRlcmZhY2Vz
        LkludmVzdG1lbnRzLklQb3NpdGlvbgMAAAAL
</value>
  </data>

分别按照和

我还尝试用替换getter setter

private BindingList<I> myX = new SortableBindingList<I>();
public BindingList<I> myX { get { return myX; } }
private BindingList myX=new-SortableBindingList();
公共绑定列表myX{get{return myX;}}
依照


无济于事。我尝试过关闭所有打开的文档、关闭解决方案、重新启动visual studio、重新生成两个程序集,但似乎没有任何解决方法。

我能够处理这些问题

[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public BindingList<I> myX { get; private set; } = new SortableBindingList<I>();
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public BindingList myX{get;private set;}=new-SortableBindingList();
通过编辑包含表单(而不是控件)的.resx文件并删除如下所示的xml元素:

public BindingList<I> X { get; private set; } = new SortableBindingList<I>();
  <data name="controlName.X" mimetype="application/x-microsoft.net.object.binary.base64">
    <value>
        AAEAAAD/////AQAAAAAAAAAMAgAAAJsBSW50ZXJmYWNlc0ludmVzdG1lbnRzLCBWZXJzaW9uPTEuMC4w
        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dLCBtc2NvcmxpYiwgVmVyc2lv
        bj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkM
        AwAAAExJbnRlcmZhY2VzSW52ZXN0bWVudHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFs
        LCBQdWJsaWNLZXlUb2tlbj1udWxsBQEAAABOU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAx
        W1tLYW1hVHJlbmRhLkludGVyZmFjZXMuSW52ZXN0bWVudHMuSVBvc2l0aW9uAwAAAAZfaXRlbXMFX3Np
        emUIX3ZlcnNpb24EAAAtS2FtYVRyZW5kYS5JbnRlcmZhY2VzLkludmVzdG1lbnRzLklQb3NpdGlvbltd
        AwAAAAgIAgAAAAkEAAAAAAAAAAAAAAAHBAAAAAABAAAAAAAAAAQrS2FtYVRyZW5kYS5JbnRlcmZhY2Vz
        LkludmVzdG1lbnRzLklQb3NpdGlvbgMAAAAL
</value>
  </data>

aaaaad/////aqaaaaaagaaajsbsw50zxjmywnlcludmvzdg1lbnrzlcbwzxjzaw9upteumc4w
LJASIEN1BHR1CMU9BMV1DHJHBCWGUHVIBGLJS2V5VG9RZW49BNVSBF1DLCBTC2NVCMXPYIWGVYC2LV
BJ00LJAUMC4WLCBDDWX0DXJLPW5LDXRYWWIFB1YMXPY0TLEVA2VUPWI3N2Y1YZU2MTKZNGUWODKM
AWAAAEXJBNRLCMZHY2VZSW52ZXN0BWVUDHMSIFZLCNPB249MS4WLJAUMCWGQ3VSDHVYZT1UZXV0CMFS
LCBQDWJSAWNLZXLUB2TLBJ1UDWXSBQEAABOU3LZDGVTLKNVBGXLY3RPB25ZLKDLBMVYAWMUTGLZDGAX
W1TLYW1HVHJLBMRHLKLUDGVYZMFJZXMUSW52ZXN0BWWUDHMUSVBVC2L0AW9UAWAAAAZFAXRLBXMFX3NP
emUIX3ZlcnNpb24EAAAtS2FtYVRyZW5kYS5JbnRlcmZhY2VzLkludmVzdG1lbnRzLklQb3NpdGlvbltd
Awaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqrs2ftyvryzw5kys5jbnrlcmzhy2vz
LKLUDMVZDG1LBNRZLKLQB3NPDGLVBGMAAL

似乎只是添加DesignerSerializationVisibility.Hidden不足以从现有的.resx文件中删除该现有数据节点。

我在IIS中遇到了相同的错误,其中X包含ValueTuple。它是一个运行时在.NET4.7下运行的.NET4.6项目。IIS进程从mscorlib(4.7)加载了ValueTuple,即使在编译时它引用了DLL中的ValueTuple(DLL文件版本4.6.26515.6)。IIS项目直接引用.NET 4.6 exe文件,该文件也作为外部进程生成。生成此exe时,它使用正确的ValueTuple 4.6 DLL,但无法反序列化从使用mscorlib版本ValueTuple的IIS进程发送的数据。