System.Web.Routing.RouteCollection 和 System.Web.Mvc.RouteCollectionExtensions 都有相同的简单名称 'IgnoreRouteInternal'
System.Web.Routing.RouteCollection and System.Web.Mvc.RouteCollectionExtensions both have same simple name of 'IgnoreRouteInternal'
我有一个 ASP.NET MVC 项目,我已经将近两个月没有参与了。只要我不更改任何代码,在浏览器中调试就可以正常工作。当我修改任何代码,甚至添加空格时,我都会收到此错误:
An exception of type 'System.NotSupportedException' occurred in EntityFramework.dll but was not handled in user code
Additional information: The type 'System.Web.Routing.RouteCollection+IgnoreRouteInternal' and the type 'System.Web.Mvc.RouteCollectionExtensions+IgnoreRouteInternal' both have the same simple name of 'IgnoreRouteInternal' and so cannot be used in the same model. All types in a given model must have unique simple names. Use 'NotMappedAttribute' or call Ignore in the Code First fluent API to explicitly exclude a property or type from the model.
异常发生在这一行:
var item = Cards.FirstOrDefault(s => s.name == cardName);
我唯一能想到的是,更改路由设置可能是我再次选择该项目之前所做的最后一件事,据我所知一切正常。另一件事是我正在使用 TortiseGit 和 bitbucket,但我看不出会有什么影响。我有另一个项目具有类似的设置,没有任何问题。
万一我弄错了这是我的RouteConfig.cs
using System;
using System.Web.Mvc;
using System.Web.Routing;
namespace houseOfCards
{
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Hello",
url: "{controller}/{action}/{name}/{id}"
);
}
}
}
我不知道如何解决这个问题,如果有任何建议,我们将不胜感激。
我遇到了类似的问题,经过三天的调查和调试我设法修复了它,错误消息往往有点误导,因为它只涉及 System.Web.Routing.RouteCollection
和 System.Web.Mvc.RouteCollectionExtensions
classes,这让人认为路线与它有关,但事实并非如此,至少在我看来是这样。
在我的例子中,我错误地将一个实体的导航 属性 声明为 ICollection<Controller>
,因此 Entity Framework 对我想注册的 classes 感到困惑。
因此,我建议在您的模型中搜索任何命名为保留字的 属性 或 class 或不属于该模型的 class 并重命名.
希望对您有所帮助
我有一个 ASP.NET MVC 项目,我已经将近两个月没有参与了。只要我不更改任何代码,在浏览器中调试就可以正常工作。当我修改任何代码,甚至添加空格时,我都会收到此错误:
An exception of type 'System.NotSupportedException' occurred in EntityFramework.dll but was not handled in user code
Additional information: The type 'System.Web.Routing.RouteCollection+IgnoreRouteInternal' and the type 'System.Web.Mvc.RouteCollectionExtensions+IgnoreRouteInternal' both have the same simple name of 'IgnoreRouteInternal' and so cannot be used in the same model. All types in a given model must have unique simple names. Use 'NotMappedAttribute' or call Ignore in the Code First fluent API to explicitly exclude a property or type from the model.
异常发生在这一行:
var item = Cards.FirstOrDefault(s => s.name == cardName);
我唯一能想到的是,更改路由设置可能是我再次选择该项目之前所做的最后一件事,据我所知一切正常。另一件事是我正在使用 TortiseGit 和 bitbucket,但我看不出会有什么影响。我有另一个项目具有类似的设置,没有任何问题。
万一我弄错了这是我的RouteConfig.cs
using System;
using System.Web.Mvc;
using System.Web.Routing;
namespace houseOfCards
{
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Hello",
url: "{controller}/{action}/{name}/{id}"
);
}
}
}
我不知道如何解决这个问题,如果有任何建议,我们将不胜感激。
我遇到了类似的问题,经过三天的调查和调试我设法修复了它,错误消息往往有点误导,因为它只涉及 System.Web.Routing.RouteCollection
和 System.Web.Mvc.RouteCollectionExtensions
classes,这让人认为路线与它有关,但事实并非如此,至少在我看来是这样。
在我的例子中,我错误地将一个实体的导航 属性 声明为 ICollection<Controller>
,因此 Entity Framework 对我想注册的 classes 感到困惑。
因此,我建议在您的模型中搜索任何命名为保留字的 属性 或 class 或不属于该模型的 class 并重命名.
希望对您有所帮助