赞
踩
在C#程序编写过程中,会遇到:Resx 文件无效。未能加载 .RESX 文件中使用的类型 System.Collections.Generic.List1`请确保已在项目中添加了必需的引用。
主要原因很可能是使用了类的可序列化的原因,代码如下:
[Serializable]
public class TimeLineItem
{
public string Title;
public string Content;
public TimeLineItem(string content)
{
this.Title = DateTime.Now.ToString("MM-dd hh:mm:ss");
this.Content = content;
}
}
于是找了很多方法。如下:
<data>...</data>
节点bytearray.base64
改成bytearray.base32
App.Designer.cs
内的this.Control1.TimeLineItems = ((System.Collections.Generic.List<App.UserControls.TimeLineItem>)(resources.GetObject("Control1.TimeLineItems")));
改成this.Control1.TimeLineItems = ((System.Collections.Generic.List<App.UserControls.TimeLineItem>)(new List<App.UserControls.TimeLineItem>()));
private List<TimeLineItem> timeLineItems;
[Description("项列表"), Category("自定义")]
//代码生成器产生对象内容的代码,而不是对象本身的代码。
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content), MergableProperty(false)]
public List<TimeLineItem> TimeLineItems
{
get { return timeLineItems; }
set
{
timeLineItems = value;
}
}
结果:节点不会重新添加
大家有什么好的解决之道欢迎留言指正
原文参考地址
stackoverflow
CSDN论坛
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。