You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译含依赖的字符串类时遇RequiredAttribute找不到错误

解决动态编译中找不到RequiredAttribute的问题

你遇到的问题根源是动态编译的代码字符串里没有导入RequiredAttribute所在的命名空间——虽然你的编译逻辑已经添加了程序集引用,但动态代码本身没有告诉编译器Required类型来自哪个命名空间,所以会报找不到类型的错误。

有两种直接的解决办法:

方法1:在动态代码中添加using指令

在你的classString开头加上命名空间导入语句:

string classString = "using System.ComponentModel.DataAnnotations; public class ModelClass { public int Id { get; set; } [Required] public int ProjectId { get; set; } [Required] public string ModelName { get; set; } [Required] public string ClassCode { get; set; } public ModelClass() { ModelName = string.Empty; ClassCode = string.Empty; } }";

方法2:使用全限定类名标注特性

如果不想添加using,可以直接用RequiredAttribute的全限定名称替换[Required]:

string classString = "public class ModelClass { public int Id { get; set; } [System.ComponentModel.DataAnnotations.Required] public int ProjectId { get; set; } [System.ComponentModel.DataAnnotations.Required] public string ModelName { get; set; } [System.ComponentModel.DataAnnotations.Required] public string ClassCode { get; set; } public ModelClass() { ModelName = string.Empty; ClassCode = string.Empty; } }";

修改后再执行编译逻辑,就能正常识别RequiredAttribute了。

内容的提问来源于stack exchange,提问作者CloudAnywhere

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 09:27:04