我有一个旧的项目,我从来没有工作过,需要得到运行这是使用.NET Framework 4.6。
1.有关于丢失引用的警告(Antrl3.Runtime,EntityFramework. ExcelDataReader和更多)
1.我在Nuget软件包管理器控制台中使用了Update-Package -reinstall命令,似乎已经解决了这些警告
1.我启动应用程序,但得到一个Not Found - HTTP ERROR 404。未找到请求的资源。
如果我在Home控制器中设置了一个断点,并试图通过url路径访问其中一个控制器方法,那么它不会命中断点,仍然会给我请求的资源未找到错误。
如果我右键单击浏览器中的视图->视图,它也会给我同样的404错误页面。如果我打开我的Home -> Index.cshtml视图,那么会出现一个错误:> "Severity Code Description Project File Line Suppression State Error CS1980 Cannot define a class or member that utilizes 'dynamic' because the compiler required type 'System.Runtime.CompilerServices.DynamicAttribute' cannot be found. Are you missing a reference? 1_Views_Home_Index.cshtml 1 Active"
如果我打开一个不同的视图,我会得到另一个错误:Severity Code Description Project File Line Suppression State Error CS0012 The type 'Expression<>' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. 2_Views_EditData.cshtml 25 Active
我尝试过清理、重建项目、将目标框架版本设置为以前的版本,然后将其设置回4.6,更改Microsoft.AspNet.MVC包版本,但这些都没有帮助。不确定在哪里查找问题,在解决方案资源管理器中,引用没有任何警告或错误。有什么建议可以诊断这个问题吗?
1条答案
按热度按时间ccrfmcuu1#
你用的是什么版本的VS?没有足够的信息,您可能需要降级MVC包版本,但首先尝试使用旧项目的干净版本执行以下操作。
关于第一个错误:
CS 1980无法定义利用“dynamic”的类或成员,因为找不到编译器所需的类型“System.Runtime.CompilerServices.DynamicAttribute”。你是不是漏了一个参考?1_Views_Home_Index.cshtml
将framework 4.6改回4.5.*(尝试:4.5.2),然后设置回4.6做一个干净的构建(也尝试恢复Nuget包)
关于第二个错误:
CS 0012类型“Expression<>”在未引用的程序集中定义。必须添加对程序集“System.Core,Version=4.0.0.0”的引用
添加对System.Corewww.example.com的引用4.0.0.0,并关闭/重新打开cshtml。