【问题标题】:Cannot define a class or member that utilizes 'dynamic' because the compiler required type 'System.Runtime.CompilerServices.DynamicAttribute' asp.net无法定义使用“动态”的类或成员,因为编译器需要类型“System.Runtime.CompilerServices.DynamicAttribute”asp.net
【发布时间】:2018-04-30 03:45:39
【问题描述】:

如果没有出现此错误,我无法创建任何视图。

我已经尝试了 Stack Overflow 上的所有修复方法,但没有任何效果。

型号:

 public class Project
{
    public string Name { get; set; }
    public int Id { get; set; }

}

控制器:

 public class ProjectsController : Controller
{
    // GET: Projects
    public ActionResult Project()
    {
        var project = new Project() {Name = "Things" };

        return View();
    }
}

当我进入生成的文件夹“Projects”并创建一个视图时,我得到了这个错误:

严重性代码描述项目文件行抑制状态 错误 CS1980 无法定义使用“动态”的类或成员 因为编译器需要类型 找不到“System.Runtime.CompilerServices.DynamicAttribute”。 你错过了一个 参考? WebApplication8 C:\Users\mitch\Documents\Visual Studio 2017\Projects\WebApplication8\WebApplication8\Views\Projet.cshtml 1 活动

【问题讨论】:

  • 应该是return View(project);
  • 不起作用,仍然出现同样的错误。
  • 重新启动 Visual Studio - 文件夹上可能有一些锁定。
  • 我试了一百万次,也没用。

标签: c# asp.net


【解决方案1】:

似乎某些参考版本无效或不存在,请先尝试添加System.Dynamic.Runtime参考。

其次,检查您的.NET目标版本,确保没有您引用的更高版本的dll,然后尝试关闭Visual Studio并在重新打开后重建。

【讨论】:

  • System.Dynamic.Runtime 命名空间不存在。在哪里查看 .NET 目标版本?
  • 有一个运行时参考“Antlr3.Runtime”v2.0.50727,它是列表中唯一的运行时参考。目标框架是 .NET Framework 4.6.1
  • 也尝试将您的 .net 框架更改为 4.5 并重新启动 Visual Studio 并重建
  • 更改为 4.5 重新启动和重建也不起作用:/
  • 您能否删除 Antlr 参考以识别问题不是来自它,如果这不能解决问题,请尝试添加我在答案中声明的参考,即使它没有用作最后的建议我可以给你:/
猜你喜欢
  • 2015-10-24
  • 2011-07-08
  • 2018-01-04
  • 1970-01-01
  • 2017-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多