Resx 文件无效。未能加载 .RESX 文件中使用的类型 System.Collections.Generic.List`1请确保已在项目中添加了必需的引用。

在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;
    }
}

于是找了很多方法。如下:

  1. 删除窗体中对应.resx后对文件里面的<data>...</data>节点
    结果:报错,控件大小或参数改变会重新添加节点
  2. 将对应的报错节点的bytearray.base64改成bytearray.base32
    结果:报错,控件大小或参数改变会重新添加节点
  3. 把序列化的类单独写在一个cs文件内
    结果:报错,控件大小或参数改变会重新添加节点
  4. 将对应的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>()));
    结果:报错,控件大小或参数改变会重新添加节点
  5. 在引用的类添加注释
private List<TimeLineItem> timeLineItems;
[Description("项列表"), Category("自定义")]
//代码生成器产生对象内容的代码,而不是对象本身的代码。
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content), MergableProperty(false)]
public List<TimeLineItem> TimeLineItems
{
    get { return timeLineItems; }
    set
    {
        timeLineItems = value;
    }
}

结果:节点不会重新添加
大家有什么好的解决之道欢迎留言指正

原文参考地址
stackoverflow
CSDN论坛

原文地址:https://www.cnblogs.com/kris-wang/p/12208194.html

时间: 2024-10-25 19:52:42

Resx 文件无效。未能加载 .RESX 文件中使用的类型 System.Collections.Generic.List`1请确保已在项目中添加了必需的引用。的相关文章

Resx 文件无效,未能加载 .RESX 文件中使用的类型

错误信息提示: 错误 339 Resx 文件无效.未能加载 .RESX 文件中使用的类型 Forms.ListItems, Forms, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.请确保已在项目中添加了必需的引用. 第 136 行,位置 5. E:\Forms\Form2.resx 136 5 Forms <?xml version="1.0" encoding="utf-8"?> <

J2EE加载资源文件以及Spring加载XML文件

J2EE加载XML文件 Resource接口,是用来加载文件的接口. FileSystemResource和ClassPathResource都是实现了Resource接口,他们都可以用来加载XML文件. 具体代码如下: 1 Resource resource1 = new ClassPathResource("文件.xml"); 2 3 Resource resource2 = new FileSystemResource("盘符:/项目路径/src/文件.xml"

android studio怎么添加.so文件?android studio加载so文件的方法

android studio 中 添加.so 文件,Android Studio中添加.jar文件和.so文件无疑是一件很重要也是很头疼的问题! 1.在src/main中添加 jniLibs文件夹 ,把.so复制进去 2.在build.gradle中就添加这么几行  ,  看图 复制内容到剪贴板 sourceSets { main { jniLibs.srcDirs = ['libs'] } } 3.然后make project 4.切换到android结构下,你会看到 jniLibs 中.so

Java中动态加载jar文件和class文件

概述 诸如tomcat这样的服务器,在启动的时候会加载应用程序中lib目录下的jar文件以及classes目录下的class文件,另外像spring这类框架,也可以根据指定的路径扫描并加载指定的类文件,这个技术可以实现一个容器,容纳各类不同的子应用. Java类由于需要加载和编译字节码,动态加载class文件较为麻烦,不像C加载动态链接库只要一个文件名就可以搞定,但JDK仍提供了一整套方法来动态加载jar文件和class文件. 动态加载jar文件 // 系统类库路径 File libPath =

Java_Java中动态加载jar文件和class文件

转自:http://blog.csdn.net/mousebaby808/article/details/31788325 概述 诸如tomcat这样的服务器,在启动的时候会加载应用程序中lib目录下的jar文件以及classes目录下的class文件,另外像spring这类框架,也可以根据指定的路径扫描并加载指定的类文件,这个技术可以实现一个容器,容纳各类不同的子应用. Java类由于需要加载和编译字节码,动态加载class文件较为麻烦,不像C加载动态链接库只要一个文件名就可以搞定,但JDK仍

[转载] Java中动态加载jar文件和class文件

转载自http://blog.csdn.net/mousebaby808/article/details/31788325 概述 诸如tomcat这样的服务器,在启动的时候会加载应用程序中lib目录下的jar文件以及classes目录下的class文件,另外像spring这类框架,也可以根据指定的路径扫描并加载指定的类文件,这个技术可以实现一个容器,容纳各类不同的子应用. Java类由于需要加载和编译字节码,动态加载class文件较为麻烦,不像C加载动态链接库只要一个文件名就可以搞定,但JDK仍

LABjs学习(一)之无阻塞动态并行加载脚本文件以及管理执行顺序

什么是LABjs LABjs是一个动态的脚本加载器,LABjs的定义特性是能够在浏览器允许的范围内以最快的速度并行加载所有JavaScript文件,但是如果文件之间存在依赖关系,则可以选择确保正确的执行顺序. 总计来说就是:动态并行加载脚本文件以及管理加载脚本文件的执行顺序 使用方法 $LAB对象替代了<script>标签,然后.script()方法表示加载Javascript文件,不带参数的.wait()方法表示立即运行刚才加载的Javascript文件,带参数的.wait()方法也是立即运

安装SQL2008时遇到&quot;未能加载文件或&quot;file:///d:microsoft..sql.chainer.packagedata.dll&quot;或它的某个依赖项

安装SQL2008时遇到"未能加载文件或"file:///d:microsoft..sql.chainer.packagedata.dll"或它的某个依赖项,如下图所示 原因:SQL2008的安装路径过长. 解决:把SQL2008放到D盘或者E盘的根目录下再安装.

关于jquery中load()无法加载本地文件的问题

今天开始刚开始学习jQuery的AJAX就遇到一个头疼的问题,按照教程的代码,我编写的代码如下(使用VS Code编辑器): <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>LOAD方法</title> <script src="../jQuery库/jquery-3.2.1.min.js