c# - 在最近的工具更新失败并出现依赖错误后添加 Controller

标签 c# asp.net asp.net-mvc-3

自从为 MVC3 安装最新的工具更新后,通过“添加 Controller ”上下文菜单添加 Controller 通常会失败并出现以下错误:

Could not load file or assembly 'Newtonsoft.Json, Version=3.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The system cannot find the file specified.

或类似的(有时是另一个依赖项,例如“Mono.Addins”等)。

它提示的引用不是项目直接需要的,但被该项目拥有的其他引用所引用。该项目在没有引用的情况下构建查找,但添加 Controller 失败。

添加错误中提到的引用也不能解决这个问题。即使在添加对 Newtonsoft.Json 的引用(使用正确的版本和 token )后,错误仍然存​​在。

我怀疑这是由于“添加 Controller ”对话框确实提供了一个可以使用的模型类型列表的反射(reflect),但我不明白为什么即使在添加请求的引用后它仍然出错。

“添加 View ”对话框稍好一些但仍然失败。对话框打开,但当您勾选“创建强类型 View ”时,对话框立即关闭。

目前我的工作是手动添加 Controller ,然后添加非强类型 View 并在之后手动编辑它们,但这变得非常令人沮丧 - 特别是因为我无法利用我们的客户 T4 模板用于脚手架 View 和 Controller 。

更新后还有其他人遇到过这个问题并且知道如何解决吗?

最佳答案

我在使用 protobuf 时遇到了同样的问题。

这意味着您引用的其中一个项目依赖于 Newtonsoft.Json,我猜是通过属性。

当 VS 试图反射(reflect)您的程序集的类型以在对话框(添加 Controller /添加 View )中为您提供模型类时,它找不到 Newtonsoft.Json 来弄清楚它反射(reflect)了什么,添加对 Newtonsoft.Json 的引用到您的 MVC 项目应该可以解决这个问题。

关于c# - 在最近的工具更新失败并出现依赖错误后添加 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6080554/

相关文章:

c# - 如何阻止用户更改查询字符串

mysql - 带有 MySql 的 ASP.Net MVC - 无法找到请求的 .Net Framework 数据提供程序

asp.net - IIS 不释放内存

c# - MVC3 工具/插件/插件

asp.net-mvc-3 - Sitecore 6.6 和 MVC 领域

c# - 将 ASP.NET MVC 3 应用程序部署到 IIS

c# - EF Core 迁移时间戳有错误的时间(区域)

c# - 如何在 C#.NET 中更改图像的像素颜色

c# - UWP 中的自定义应用内键盘

c# - 类对象的内存分配